您的位置:首页 > 编程语言 > Java开发

《java入门第一季》之有趣的集合小案例---获取10个【1-20之间】的随机数,要求不能重复。

2016-05-29 19:27 495 查看
import java.util.ArrayList;
import java.util.Random;

/*
* 获取10个【1-20之间】的随机数,要求不能重复。(注意:不是获取10个数,如果单纯获取十个数可能有重复的,这里是获取10个不重复的数。
* 所以统计变量要在判断不重复后增加。)
*
* 用数组实现,但是数组的长度是固定的,长度不好确定。
* 所以我们使用集合实现。
*
* 分析:
* 		A:创建产生随机数的对象
* 		B:创建一个存储随机数的集合。
* 		C:定义一个统计变量。从0开始。
* 		D:判断统计遍历是否小于10
* 			是:先产生一个随机数,判断该随机数在集合中是否存在。
* 					如果不存在:就添加,统计变量++。
* 					如果存在:就不搭理它。
* 			否:不搭理它
* 		E:遍历集合
*/
public class RandomDemo {
public static void main(String[] args) {
// 创建产生随机数的对象
Random r = new Random();

// 创建一个存储随机数的集合。
ArrayList<Integer> array = new ArrayList<Integer>();

// 定义一个统计变量。从0开始。
int count = 0;

// 判断统计遍历是否小于10
while (count < 10) {
//先产生一个随机数
int number = r.nextInt(20) +1 ;//Random类下面的方法:public int nextInt(int n);下一个伪随机数,在此随机数生成器序列中 0(包括)和 n(不包括)之间均匀分布的 int 值。

//判断该随机数在集合中是否存在。
if(!array.contains(number)){//ArrayList类的方法public boolean contains(Object o)如果此列表包含特定的元素,则返回 true
//如果不存在:就添加,统计变量++。
array.add(number);
count++;
}
/*这里获取的存在重复值
* array.add(number);
count++;
*/
}

//遍历集合
for(Integer i : array){
System.out.println(i);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: