生成随机数序列&在java中将它们排序

时间:2017-02-19 15:17:03

标签: java arrays

美好的一天,

我目前正在研究这个程序,它必须生成我输入的数字(在1-100之间),数字必须在0 - 1 000 000范围内。

然后,程序必须以随机顺序打印出来,然后使用插入排序,它必须对随机生成的数字进行排序。

我现在已经解决了这个问题大约7个小时,在网上搜索了答案,但还没有找到任何答案。我希望在这里解决我的问题!

该计划应该做什么:

  1. 人输入他们希望程序生成的随机数(1-100之间)
  2. 打印出之前输入的随机数(随机数必须在0 - 1 000 000范围内)。
  3. 使用插入排序对数字进行排序并打印出来。
  4. 这就是我目前所拥有的:

    它不会打印出已排序的列表。

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("Enter the amount:");
        int amount = scan.nextInt();
        int []numbers = new int[amount];
    
        Random rand = new Random();
        System.out.println("Random order:");
        int MAX = 1000000;
        int MIN = 0;
        for (int i = 0; i < amount; i++) {
            numbers[i] = rand.nextInt(MAX - MIN + 1) + MIN;
            System.out.print(numbers[i] + ", ");
        }
        System.out.println("");
        System.out.print("From smallest to biggest:");
    
        sort(numbers);
    
    
    }
            public static int[] sort(int[] list) {
                int i, j, key, temp;
                for(i = 1; i < list.length; i++) {
                    key = list[i];
                    j = i-1;
    
                    while (j >= 0 && list[j] > key) {
                        temp = list[j];
                        list[j] = list[j+1];
                        list[j+1] = temp;
                        j--;
                    }
    
                    System.out.print(list);
                }
    
    
    
                return list;
            }
    

    }

1 个答案:

答案 0 :(得分:0)

我想你忘了打电话给排序方法。