我想生成随机数,但不希望它们来自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;
}
我在 while 循环中使用这个函数,并且在每次迭代期间我添加一个新值到exclude
. 有时它会返回属于 的数字exclude
。有什么问题?