到目前为止,我已经设法使用 Random 生成随机数。
for(int i=0; i<10; i++){
prevnum = num;
num = random.nextInt(4);
num = num==prevnum?ran.nextInt(4):num;
System.out.println("random number: " + num);
}
我不想连续重复,我该怎么办?
编辑/解决方案:
我使用这个解决方法解决了这个问题。
通过检查它是否是第一次运行以避免空指针异常。
并且刚刚使用 ArrayList 通过从小池/范围中删除先前随机生成的数字来消除任何重复的机会。
public void printRandom(){
for(int i=0; i<10; i++){
if(firstrun){
firstrun=false;
num = random.nextInt(4);
System.out.println(num);
} else{
num = getRandom(num);
System.out.println(num);
}
}
}
int getRandom(int prevNum){
ArrayList choices = new ArrayList(Arrays.asList(0, 1, 2, 3));
choices.remove(prevNum);
return (int) choices.get(random.nextInt(3));
}