我有以下代码在 boolean[][] 中将 10 个随机值设置为 true:
bommaker = new boolean[10][10];
int a = 0;
int b = 0;
for (int i=0; i<=9; i++) {
a = randomizer.nextInt(9);
b = randomizer.nextInt(9);
bommaker[a][b] = true;
}
但是,使用此代码,可以生成相同的值,因此将少于 10 个值设置为随机值。如果该值尚未被采用,我需要构建一个检查器。如果已经被采用,则需要重新进行随机化。但我不知道该怎么做。有人可以帮助我吗?
最佳答案
最简单的解决方案,不是最好的:
for (int i=0; i<=9; i++) {
do {
a = randomizer.nextInt(10);
b = randomizer.nextInt(10);
} while (bommaker[a][b]);
bommaker[a][b] = true;
}
关于java - 生成随机数字对列表时如何避免重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8955854/