Вопрос-ответ

Sort an array in Java

Сортировка массива в Java

Я пытаюсь создать программу, состоящую из массива из 10 целых чисел, каждое из которых имеет случайное значение, пока все хорошо.

Однако теперь мне нужно отсортировать их в порядке от наименьшего к наибольшему значению, а затем распечатать его на экране, как бы я это сделал?

(Извините за то, что у меня так много кода для такой маленькой программы, я не очень хорошо разбираюсь в циклах, только начал работать с Java)

public static void main(String args[])
{
int [] array = new int[10];

array[0] = ((int)(Math.random()*100+1));
array[1] = ((int)(Math.random()*100+1));
array[2] = ((int)(Math.random()*100+1));
array[3] = ((int)(Math.random()*100+1));
array[4] = ((int)(Math.random()*100+1));
array[5] = ((int)(Math.random()*100+1));
array[6] = ((int)(Math.random()*100+1));
array[7] = ((int)(Math.random()*100+1));
array[8] = ((int)(Math.random()*100+1));
array[9] = ((int)(Math.random()*100+1));

System.out.println(array[0] +" " + array[1] +" " + array[2] +" " + array[3]
+" " + array[4] +" " + array[5]+" " + array[6]+" " + array[7]+" "
+ array[8]+" " + array[9] );

}
Переведено автоматически
Ответ 1

Циклы также очень полезны для изучения, особенно при использовании массивов,

int[] array = new int[10];
Random rand = new Random();
for (int i = 0; i < array.length; i++)
array[i] = rand.nextInt(100) + 1;
Arrays.sort(array);
System.out.println(Arrays.toString(array));
// in reverse order
for (int i = array.length - 1; i >= 0; i--)
System.out.print(array[i] + " ");
System.out.println();
Ответ 2

Добавьте строку перед println, и ваш массив будет отсортирован

Arrays.sort( array );
Ответ 3

Это может помочь вам разобраться в циклах, реализовав их самостоятельно. Смотрите, как легко понять пузырьковую сортировку:

public void bubbleSort(int[] array) {
boolean swapped = true;
int j = 0;
int tmp;
while (swapped) {
swapped = false;
j++;
for (int i = 0; i < array.length - j; i++) {
if (array[i] > array[i + 1]) {
tmp = array[i];
array[i] = array[i + 1];
array[i + 1] = tmp;
swapped = true;
}
}
}
}

Конечно, вам не следует использовать это в рабочей среде, поскольку существуют более эффективные алгоритмы для больших списков, такие как быстрая сортировка или сортировка слиянием, которые реализованы Arrays.sort(array)

Ответ 4

Взгляните на Arrays.sort()

java arrays