2 u013799749 u013799749 于 2014.03.24 13:11 提问

Java中的简单Lottery问题,急求!!!麻烦了。。。

CSDN移动问答从1~22中随机产生5个随机数,不能有重复,关键我的有重复,帮忙修改下,我的问题在哪里??改了好多回都不行。。。。。

1个回答

slamzwl
slamzwl   2014.03.24 15:07
已采纳

有一个办法可以解决你的问题,那就是将生成的随机数存储在HashSet当中,它会自动去除重复的元素,当个数达到5个时,停止生成。
我的代码如下:
public static void main(String[] args)
{
int[] mylist = new int[5];
HashSet randomSet = new HashSet();
Random myrandom = new Random();
for(int i = 0;i<22;i++)
{
randomSet.add(myrandom.nextInt(22));

if(randomSet.size()==5)
break;
}
Iterator it = randomSet.iterator();
int num = 0;
while(it.hasNext())
{
mylist[num] = (int) it.next();
num++;
}
for(int i =0;i<5;i++)
{
System.out.println(mylist[i]);
}

}
Csdn user default icon
上传中...
上传图片
插入图片