对已经具有随机数的随机数数组进行排序

时间:2020-06-24 04:02:16

标签: java arrays

import java.util.*;

public class FIRSTPROJECT {

    public static void main(String[] args) {
        // TODO Auto-generated method stub



        static int[] firstArray, secondArray;

        static int con = 100;

        firstArray = new int[con];
        secondArray = new int[con];
        for (int i = 0; i < con - 1; i++) {
            firstArray[i] = (int)(Integer.MAX_VALUE * Math.random());;
            System.out.println(firstArray[i]);
            Arrays.sort(firstArray[i]);
        }
    }

问题是我通过for循环传递类型int后不对应int []

2 个答案:

答案 0 :(得分:0)

首先,您不能在Java方法的内部使用静态方法。其次,它不进行排序的原因是因为您正在对firstArray [i] <-进行排序。这不再是数组,正在访问索引i处的元素。更改您的代码,如下所示:

    int[] firstArray, secondArray;

    int con = 100;

    firstArray = new int[con];
    secondArray = new int[con];
    for (int i = 0; i < con - 1; i++) {
        firstArray[i] = (int)(Integer.MAX_VALUE * Math.random());;
        System.out.println(firstArray[i]);
        Arrays.sort(firstArray);
    }

答案 1 :(得分:0)

不能在静态方法内使用静态变量。 在这里,我附加了更新后的代码,用于将随机数添加到数组中,然后对其进行排序。

import java.util.Arrays;

public class Sample {

    public static void main(String[] args) {
        int[] firstArray, secondArray;
        int con = 4;
        firstArray = new int[con];
        secondArray = new int[con];
        for (int i = 0; i < con - 1; i++) {
            firstArray[i] = (int) (Integer.MAX_VALUE * Math.random());
        }
        System.out.println(Arrays.toString(firstArray));
        Arrays.sort(firstArray);
        System.out.println("Sorted"+Arrays.toString(firstArray));
    }
}

还附加了相同的输出。

**

"C:\Program Files\Java\jdk-11.0.7\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.1.2\lib\idea_rt.jar=63743:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.1.2\bin" -Dfile.encoding=UTF-8 -classpath D:\untitled\out\production\untitled Sample
[1865181155, 340923400, 1281005722, 0]
Sorted[0, 340923400, 1281005722, 1865181155]

**

相关问题