用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 热门回答(176 赞)

循环也非常有用,尤其是在使用数组时,

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 热门回答(170 赞)

在println之前添加Line,你的数组将被排序

Arrays.sort( array );

#3 热门回答(35 赞)

它可以帮助你通过实现自己来理解循环。请参阅冒泡排序很容易理解:

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;
            }
        }
    }
}

当然,你不应该在生产中使用它,因为对于大型列表有更好的执行算法,如377211644 QuickSortMergeSort**由Arrays.sort(array)实现