Java基础知识强化之集合框架笔记35:List练习之产生10个1~20之间的随机数(要求:随机数不能重复)

1. 需求:获取10个1-20之间的随机数,要求不能重复

用数组实现,但是数组的长度是固定的,长度不好确定。
所以我们使用集合实现。

分析:
   创建产生随机数的对象
   创建一个存储随机数的集合。
   定义一个统计变量。从0开始。
   判断统计遍历是否小于10
      是:先产生一个随机数,判断该随机数在集合中是否存在。
          如果不存在:就添加,统计变量++。
          如果存在:就不搭理它。
        否:不搭理它
       遍历集合

 

2. 代码实现:

 1 package cn.itcast_02;
 2 
 3 import java.util.ArrayList;
 4 import java.util.Random;
 5 
 6 /*
 7  * 获取10个1-20之间的随机数,要求不能重复
 8  * 
 9  * 用数组实现,但是数组的长度是固定的,长度不好确定。
10  * 所以我们使用集合实现。
11  * 
12  * 分析:
13  *         A:创建产生随机数的对象
14  *         B:创建一个存储随机数的集合。
15  *         C:定义一个统计变量。从0开始。
16  *         D:判断统计遍历是否小于10
17  *             是:先产生一个随机数,判断该随机数在集合中是否存在。
18  *                     如果不存在:就添加,统计变量++。
19  *                     如果存在:就不搭理它。
20  *             否:不搭理它
21  *         E:遍历集合
22  */
23 public class RandomDemo {
24     public static void main(String[] args) {
25         // 创建产生随机数的对象
26         Random r = new Random();
27 
28         // 创建一个存储随机数的集合。
29         ArrayList<Integer> array = new ArrayList<Integer>();
30 
31         // 定义一个统计变量。从0开始。
32         int count = 0;
33 
34         // 判断统计遍历是否小于10
35         while (count < 10) {
36             //先产生一个随机数
37             int number = r.nextInt(20) + 1;
38             
39             //判断该随机数在集合中是否存在。
40             if(!array.contains(number)){
41                 //如果不存在:就添加,统计变量++。
42                 array.add(number);
43                 count++;
44             }
45         }
46         
47         //遍历集合
48         for(Integer i : array){
49             System.out.println(i);
50         }
51     }
52 }

运行效果如下:

posted on 2015-10-05 16:38  鸿钧老祖  阅读(1726)  评论(0编辑  收藏  举报

导航