java - 如何对用户在 Java 中定义的随机生成的数字进行排序?

标签 java arrays sorting random

大家好,Stack Overflow 社区,我对 Java 还是个新手,但我正在努力学习如何排序。现在我的程序创建了 n 个 1 - 10 范围内的随机数。虽然我将如何将这些数字放入要排序的数组中,但我不太确定。我应该着手进行冒泡排序而不是 Arrays.sort 吗?

这是我的代码

public static final void main(String aArgs){

    //User inputs a number for the amount of random numbers to generate
    String UserNumbers = JOptionPane.showInputDialog("How many numbers would you like to generate?");

    //The unknown amount of numbers "n" is converted from the "UserNumbers" String to an int
    int n = Integer.parseInt(UserNumbers);

    //Random number generator generating the amount of numbers as defined by the user
    Random randomGenerator = new Random();
    for (int idx = 1; idx <= n; ++idx){
      int randomInts = randomGenerator.nextInt(10);

    //Now to create an array for the random numbers to be put into so they can be sorted
      int ArrayToSort[] = new int[n];

      ArrayToSort[0] = randomInts;
      Arrays.sort(ArrayToSort);     
      System.out.println(ArrayToSort);
    }
}

最佳答案

我怀疑您不是在问是否使用冒泡排序,因为它比 Arrays.sort 更快/更慢,而是因为 Arrays.sort 不适合您。

我认为这是因为您没有将生成的随机数放入您排序的数组中

相反,试试这个代码:

public static final void main(String args){

    //User inputs a number for the amount of random numbers to generate
    String userNumbers = JOptionPane.showInputDialog("How many numbers would you like to generate?");

    //The unknown amount of numbers "n" is converted from the "userNumbers" String to an int
    int n = Integer.parseInt(userNumbers);

    //Random number generator generating the amount of numbers as defined by the user
    int arrayToSort[] = new int[n];
    Random randomGenerator = new Random();
    for (int idx = 0; idx < n; ++idx){
      arrayToSort[idx] = randomGenerator.nextInt(10);
    }
    Arrays.sort(arrayToSort);     
    System.out.println(arrayToSort);
}

你的代码的问题是你试图用随机数填充一个大小为 n 的数组,对其进行排序然后打印它,但是你的代码在每次迭代中生成一个随机数,分配一个 n 大小的数组,把数组的槽 0 中的随机数并对它进行排序,然后打印它(这样做 n 次)——这当然不会得到相同的效果

顺便说一句,Random.nextInt(10) 返回一个介于 0 和 9 之间的随机数,而不是 1 和 10。要实现您想要的结果,您需要将该随机值加 1

关于java - 如何对用户在 Java 中定义的随机生成的数字进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29309153/

相关文章:

java - 如何在 dto 属性上使用 SafeHtml 注释?

php - 我想查看我正在使用 codeigniter 目录助手的目录中的所有图像

php - 使用 foreach 循环填充数组

c# - 当用户单击表头时,如何对 List<T> 进行排序?

sorting - 如何通过float64值对map [string] float64排序?

java - 为什么基于 Java 的冒泡排序优于选择排序和插入排序

java - 如何将 SQL 转换为具有联合和内部联接的 HQL?

java - JUnit 中全局变量的值更改为 null

c# - 从 PdfWriter 获取字节数组,写入 iTextSharp 中的内存流

java - 如何使用带复选框的 ListView 并在单击复选框时执行某些任务?