Witam ponownie Panowie i Panie ;)
W trakcie pisania kolejnych "wprawek" natrafiłem na taki problem:
Zapełniam sobie tablice losowymi 10 liczbami z przedziału [-10 do 10]. Robię sobie z nimi różne rzeczy i obliczenia i na koniec chciałbym wypisać zawartość tablicy, ale w kolejności odwrotnej (od ostatniego do pierwszego). Jak widzicie w poniższym listingu, próbuję to robić 2 metodami:
1 - stringBuilderem i reversem, ale wtedy wyświetla mi też zamiast [-10] to [01-] ponieważ jest to String, więc jak najbardziej logicznie, ale może macie na to jakiś sposób
2 - przypisaniem do innej tablicy z zagnieżdżonym for, ale chyba się "zapętliłem" i nie mogę znaleźć błędu.
Będę wdzięczny za pomoc i za wszelkie sugestie, lub też może podpowiedź jeszcze innego rozwiązania:
import java.util.*;
public class Tablice01 {
public static void main(String[] arg){
int liczby[] = new int[10];
Random los = new Random ();
/// Losowanie 10 liczb z przedziału [-10,10]
for ( int i = 0; i < 10; i++){
int liczba1=los.nextInt(21)-10;
liczby[i] = liczba1;
}
/// Drukowanie tablicy nieposegregowanej na ekran
System.out.println(Arrays.toString(liczby));
/// Wyznaczanie najmniejszego i największego elementu tablicy
int max = Integer.MIN_VALUE;
int min = Integer.MAX_VALUE;
for ( int i = 0; i < liczby.length; i++){
if (liczby[i] <= min) min = liczby[i];
if (liczby[i] >= max) max = liczby[i];
}
System.out.println("Wartość maksymalna w tablicy to: " + max);
System.out.println("Wartość minimalna w tablicy to: " + min);
/// Wyznaczanie średniej arytmetycznej tablicy
int suma = 0;
for ( int i = 0; i < liczby.length; i++) {
suma = suma + liczby[i];
}
int a = suma / liczby.length;
System.out.println("Suma elementów tablicy: " + suma);
System.out.println("Średnia arytmetyczna elementów tablicy to: " + a);
/// Sprawdzanie ile elementów jest większych a ile mniejszych od średniej artymetycznej
int mniejszych = 0;
int wiekszych = 0;
for (int i = 0; i < liczby.length; i++){
if (liczby[i] < a) mniejszych++;
else if (liczby[i] > a ) wiekszych++;
}
System.out.println("Elementów mniejszych od średniej arytmetycznej jest: " + mniejszych);
System.out.println("Elementów większych od średniej arytmetycznej jest: " + wiekszych);
/// Wyświetlanie zawartości tablicy w kolejności odwrotnej - sposób I - nie do końca dobry
String ybzcil = Arrays.toString(liczby);
StringBuilder sb = new StringBuilder(ybzcil).reverse();
System.out.println(sb);
/// Wyświetlanie zawartości tablicy w koljeności odwrotnej
int odwrotne[] = new int[liczby.length];
for (int j = 0; j < liczby.length; j++){
for (int i = liczby.length; i > 0; i--){
odwrotne[j] = liczby[i];
}
}
System.out.println(Arrays.toString(odwrotne));
}
}