java - 无法使用随机生成的数字对数组进行排序

标签 java arrays sorting random numbers

在数组中生成随机数后,我无法对数组进行排序。我认为在分配所有数字之前已经对数组进行了排序。我也尝试过在主循环内嵌套另一个 for 循环,但我要么得到相同的结果,要么得到随机数的无限循环。

public static void main(String[] args) {
    int[] anArray;
    anArray = new int[10000];
    Random generator= new Random();

    for(int i=0; i<10000; i++){
       anArray [i]= (generator.nextInt(98)+1);
       java.util.Arrays.sort(anArray);
       System.out.println(anArray[i];
    }
 }

最佳答案

您需要将java.util.Arrays.sort(anArray);放在循环之外,否则您将在每一步进行排序,并且第i个元素将不是您刚刚添加的元素:

for(int i=0; i<10000; i++){
   anArray [i]= (generator.nextInt(98)+1);
}
java.util.Arrays.sort(anArray);
System.out.println(Arrays.toString(anArray));

关于java - 无法使用随机生成的数字对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14593842/

相关文章:

java - %f 在 Java 中是如何工作的

java - 如何在特定核心上使用 Java API 在 Apache Solr (SolrJ) 中添加文档

c# - 将文本列排序为数字列WPF MVVM

java - 如何在 Java 中将 HashMap 中的键添加到具有相同顺序的列表中

java - JPA - 返回 StartDate 之后和 EndDate 之前的实体

java - 如何在 NetBeans for Java 中查看给定接口(interface)的所有实现者?

php - 数组元素包裹所有元素

php - 如何preg_match所有数字而不是url编码的逗号

php - 变量没有 'stick' 到数组

r - 从距离矩阵开始查找 K 个最近邻