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

  • 本文关键字:随机数 数组 排序 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]);
}
}

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

首先,在 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);
}

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

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 FilesJavajdk-11.0.7binjava.exe" "-javaagent:C:Program FilesJetBrainsIntelliJ IDEA Community Edition 2020.1.2libidea_rt.jar=63743:C:Program FilesJetBrainsIntelliJ IDEA Community Edition 2020.1.2bin" -Dfile.encoding=UTF-8 -classpath D:untitledoutproductionuntitled Sample
[1865181155, 340923400, 1281005722, 0]
Sorted[0, 340923400, 1281005722, 1865181155]

**

最新更新