我需要在 6 个不同的编辑文本中生成随机数。不幸的是随机数重复。我需要我设置的范围内的唯一数字。
rndNumber = rndNumbers.nextInt(max);
num1.setText(Integer.toString(rndNumber));
rndNumber = rndNumbers.nextInt(max);
num2.setText(Integer.toString(rndNumber));
rndNumber = rndNumbers.nextInt(max);
num3.setText(Integer.toString(rndNumber));
rndNumber = rndNumbers.nextInt(max);
num4.setText(Integer.toString(rndNumber));
rndNumber = rndNumbers.nextInt(max);
num5.setText(Integer.toString(rndNumber));
rndNumber = rndNumbers.nextInt(max);
num6.setText(Integer.toString(rndNumber));
包装随机数生成器以将结果存储在一个集合中。当您生成一个数字(如果该数字存在于集合中)时,请再次执行此操作:
其他人对 for 循环的评论也是有效的......
伪代码:
class MyRandomNums {
Set<Integer> usedNums;
public int getRandom()
{
int num = random.nextInt();
while(usedNums.contains(num)) {
num = random.nextInt();
}
usedNums.add(num);
return num;
}
public int reset()
{
usedNums.clear();
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)