java中要使生成的随机数不重复可以将已经生成的随机数放入到数组中,每次生成随机数时与数组的内容比较是否相等,相等则重新生成,不相等则存入数组。
示例代码如下(生成10之内的4个不相等的整数):
其中的变量flag用来标志产生的随机数是否已经存在,默认值设置为true,表示不存在,flase表示该随机数已经存在。
能把代码,让我看看 吗?
追答以下代码是产生10个不重复int型随机数,并用两种方式遍历
HashSet set=new HashSet();
while(true)
{
set.add(new Random().nextInt());
if(set.size()==10)
{
break;
}
}
Iterator iterator=set.iterator();
while(iterator.hasNext())
{
System.out.println(iterator.next());
}
Integer[] res=(Integer[])set.toArray();
for(int i=0;i<res.length;i++)
{
System.out.println(res[i]);
}