gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 05:09:07 25 4
gpt4 key购买 nike

大家好,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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com