标签:
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 }
运行效果如下:
Java基础知识强化之集合框架笔记35:List练习之产生10个1~20之间的随机数(要求:随机数不能重复)
标签:
原文地址:http://www.cnblogs.com/hebao0514/p/4855918.html