当我尝试在for循环中对数组进行排序时遇到了麻烦。
我给你的代码如下:
public class Lottery {
public Lottery() {
java.util.Random iRandom = new java.util.Random();
int num[] = new int[6];
java.util.Arrays.sort(num);
for(int i =0 ; i < num.length; i++) {
java.util.Arrays.sort(num);
num[i] = iRandom.nextInt(49)+1;
System.out.println(num[i]);
}
}
public static void main(String[] args) {
Lottery lott = new Lottery();
}
}
在上面的代码中,我可以使用“For Loop”打印随机数,但我尝试按升序排序,但它不起作用.....
我的方式是对的?
每个人都可以帮助我吗?
谢谢!
最诚挚的问候!
答案 0 :(得分:11)
将Arrays.sort(num)
调用 AFTER 后,您已完成生成随机数。
public Lottery(){
java.util.Random iRandom = new java.util.Random();
int num[] = new int[6];
for(int i =0 ; i < num.length; i++)
num[i] = iRandom.nextInt(49)+1;
Arrays.sort(num);
}
答案 1 :(得分:3)
您在对数组进行排序后更改数组,这会破坏排序顺序。
答案 2 :(得分:3)
在对数组进行排序并将数据插入数组时,您正在对数组进行排序。
你应该做的是:
public Lottery() {
java.util.Random iRandom = new java.util.Random();
int num[] = new int[6];
//java.util.Arrays.sort(num);
for(int i =0 ; i < num.length; i++) {
num[i] = iRandom.nextInt(49)+1;
}
java.util.Arrays.sort(num);
for(int i : num) {
System.out.println(i);
}
}
答案 3 :(得分:0)
您可以做的是按顺序排序:
java.util.Arrays.sort(array);
编辑:另外如评论中所述:获取您想要的随机数。然后在崇拜中排序。 (多次排序会使程序变慢)