今天遇到个比较有趣的问题,使用Java产生10个1~20之间的随机数,要求随机数不能重复,关键在于10个随机数不能重复这个条件。不能重复(想到Set集合)
关于集合详解大家可以看我这篇文章
上该问题的代码
package com.buleng.pro_seven;
import java.util.HashSet;
import java.util.Iterator;
public class Test{
public static void main(String[] args) {
HashSet set = new HashSet();
while (set.size()!=10){//集合元素不到十个,便一直生成随机数
int num = (int)(Math.random() * (20 - 1)) + 1;//生成1-20的随机数
set.add(num);
}
Iterator iterator = set.iterator();//迭代器遍历
while (iterator.hasNext()){
System.out.println(iterator.next());
}
}
}
结果
16
17
2
3
4
10
11
12
13
15
当然,结果是随机的10个数,肯定大家的不一样
最有趣的地方我觉得在于这个set.size()!=10
不容易联想到
版权属于:不冷
本文链接:https://www.buleng.xyz/archives/200/
转载时须注明出处及本声明