java如何将1000个随机数字从小到大排序,急

如题所述

public static void main(String[] args) {
// 实例化一个List集合,用来存放int
List<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < 1000; i++) {// 执行1000次for,获取随机整数,并放在集合中
list.add((int) (Math.random() * 10000));
}
// 排序
Collections.sort(list);
// 打印,查看结果
for (int i = 0; i < list.size(); i++) {
if (i % 40 == 0) {
System.out.println();
}
System.out.print(list.get(i) + " ");
}
}

追问

我的目的是输入任意键就输出1000个随机数,再输入任意键就会将1000个随机数从小到大排列

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-03-02
先把那1000个数,用一个数组得到,然后再随便选一个排序方法就好了比如冒泡排序追问

现在我把1000个随机数打印出来了,之后还怎么排,能给个代码吗?

追答

int a[] = {你得到的数组};
for(int j=0;j<a.length;j++) //执行a数组长度的循环次数,不管是不是1000都行
{
for(int i=0;i<a.length-1;i++)
{
if(a[j]<a[i])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
System.out.print("从小到大的排序为:");
for(int i=0;i<a.length;i++)
{
System.out.print(a[i]+",");
}
}
}

追问

我是用while循环得到的1000个随机数。用h表示,那里我得到的数组怎么填,是填h吗?

追答

你h里是已经存有了这1000个随机数了么?如果存了就直接用啊

追问

我不知道,就是用循环做的,每次输出一个随机数,循环一千次,每个随机数都是用h代表

追答

看你的描述,应该是随机生成一个数然后就存到h之后打印,再随机生成这样循环的,你把那些数get到,存到一个数组里,再用上面的,就OK了

追问

我的目的是输入任意键就输出1000个随机数,再输入任意键就会将1000个随机数从小到大排列,能给个代码吗

本回答被提问者采纳
第2个回答  2015-10-23
public class $ {

    public static void main(String[] args) {

        int size = 10;

        int[] arr = new int[size];

        for (int i = 0; i < size; i++) {
            arr[i] = (int) (Math.random() * 10000);
        }

        System.out.print("排序前:");
        show(arr);

        sort(arr);

        System.out.println();
        System.out.print("排序后:");
        show(arr);
    }

    private static void sort(int[] arr) {

        for (int i = 0; i < arr.length; i++) {
            for (int j = i; j < arr.length; j++) {

                if (arr[i] > arr[j]) {
                    int tmp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = tmp;
                }
            }
        }

    }

    private static void show(int[] arr) {
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + ",");
        }
    }
}

相似回答