【发布时间】:2013-02-02 20:46:33
【问题描述】:
我想生成随机数,但不希望它们来自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 的数字。有什么问题?
【问题讨论】:
-
excludeRows和exclude是同一个东西吗? -
是的,我忘记改名字了
-
在此函数中,您不会将数字添加到
excludeRows。所以在我的解决方案中,我也不这样做。我应该补充吗? -
将所有
excludeRows重命名为exclude