Java随机数,无重复 [英] Java Random number with no duplicate
本文介绍了Java随机数,无重复的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要在6个不同的edittext中生成随机数.不幸的是,随机数重复.我需要设定范围内的唯一数字.
I need to generate random numbers in 6 different edittext. Unfortunately the random numbers duplicates. I need unique numbers from the range I set.
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));
推荐答案
包装随机数生成器以将结果存储在集合中.当您生成一个数字(如果该数字存在于集合中)时,请再次执行该操作:
Wrap the random number generator to store the results in a set. When you generate a number if it exists in the set, do it again:
其他人对for循环的评论也有效...
Comments made by others about the for loops are also valid...
伪代码:
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();
}
}
这篇关于Java随机数,无重复的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文