基本上我选择0-24之间的随机数:
Math.floor(Math.random() * myArray.length); // myArray contains 25 items
Run Code Online (Sandbox Code Playgroud)
让我们说它出现了8.现在我想得到0-24相同范围内的另一个数字,但这一次,我不想要一个8.下一次,我可能会滚动一个15.现在我想再次滚动但是我不想要8或15.我现在处理这个问题的方法是使用do while循环,如果数字相同,我只是重新滚动.
这是我家庭作业的一小部分,事实上,我已经努力满足所有要求,所以我想你可以说这是为了我个人的利益,所以我可以写得恰到好处,而不是最终的"每日wtf" ".
我想生成随机数,但不希望它们来自exclude数组.这是我的代码.
public int generateRandom(int start, int end, ArrayList<Integer> exclude) {
Random rand = new Random();
int range = end - start +1 - exclude.size();
int random = rand.nextInt(range) + 1;
for(int i = 0; i < exclude.size(); i++) {
if(exclude.get(i) > random) {
return random;
}
random++;
}
return random;
}
Run Code Online (Sandbox Code Playgroud)
我在while循环中使用此函数,并在每次迭代期间添加一个新值exclude.有时会返回属于的数字exclude.有什么问题?