所以,我正在尝试生成一个长度为3的数组,其中包含从1到25的随机唯一数字.我无法理解为什么我的代码不起作用,我非常感谢一些帮助!
public void generateRandom() {
for(int j=0; j<3; j++) {
dots[j] = (int) (Math.random()*(col*row)+1);
System.out.println(dots[j]);
for(int i=j; i>0; i--) {
if(dots[j]==dots[j-1]) {
generateRandom();
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
dots[]是我试图存储3个唯一随机数的数组.顺便说一下col*row == 25.
这是一个有点不同的方法.它依赖于创建具有指定值集的ArrayList,然后对该列表进行混洗.对列表进行洗牌后,您可以根据洗牌列表中的前三个元素创建一个数组.
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
for(int i = 0; i < 26; i++){
list.add(i);
}
Collections.shuffle(list);
Integer[] randomArray = list.subList(0, 3).toArray(new Integer[3]);
for(Integer num:randomArray){
System.out.println(num);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4218 次 |
| 最近记录: |