249 不重复的随机数
【需求】
获取10个1-20之间的随机数,要求随机数不能重复,并在控制台输出
【思路】
1. 创建Set集合对象,Set保证不重复
2. 创建随机数对象,用random获取随机数
3. 判断集合的长度是不是小于10,并且循环,直到集合的长度等于10
- - 是,产生一个随机数,添加到集合
- - 不是,停止添加元素
--------------------------------------------------------------
1 package e249;
2
3 import java.util.HashSet;
4 import java.util.Random;
5 import java.util.Set;
6 import java.util.TreeSet;
7
8 public class RandomSetDemo {
9 public static void main(String[] args) {
10 // Set<Integer> rs = new HashSet<Integer>();//用HashSet,不排序
11 Set<Integer> rs = new TreeSet<Integer>();//用TreeSet,可按元素大小排序
12 Random rr = new Random();
13 while(rs.size()<10){
14 int randomNum = rr.nextInt(20) + 1;
15 rs.add(randomNum);
16 }
17 System.out.println("10 random numbers");
18 for (Integer i : rs){
19 System.out.println(i);
20 }
21 }
22 }