Java中获取几位不同的随机数

本文介绍如何使用Java生成指定范围内的不重复随机数,并将其存储到集合中。此外,还探讨了从集合中正确迭代元素的方法,避免因错误的迭代逻辑导致的NoSuchElementException异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       Set<Integer> set = new HashSet<Integer>();
        Random random = new Random();
        while (set.size() < 4) {//取得4个
            set.add(random.nextInt(10));//0-9范围数据
        }
        Iterator<Integer> it = set.iterator();
        List<Object> suit=new ArrayList<Object>(); 
        String matter="";
        for(;it.hasNext();){
            // matter+=it.next().toString()+"  ";
             suit.add(it.next());//切记不能两个一起添加,这样会认为迭代2次,会报异常错误:NoSuchElementException
        }
        System.out.println(matter);//或则直接这样输出
        for(int i=0;i<suit.size();i++)
        {
        	System.out.println(suit.get(i));
        }


 

 当报错这个错误的时候,只是说里面迭代了2次,比如我这样写:

String matter=""; 
for(;it.hasNext();)
{
matter+=it.next().toString()+"   ";
suit.add(it.next());
}
这样写就一定会报下面的错误。
Exception in thread "main" java.util.NoSuchElementException
	at java.util.HashMap$HashIterator.nextEntry(Unknown Source)
	at java.util.HashMap$KeyIterator.next(Unknown Source)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值