黑马程序员技术交流社区
标题:
【记录】代码练习-产生10个1-20之间不重复随机数
[打印本页]
作者:
Kevin.Kang
时间:
2015-7-14 11:42
标题:
【记录】代码练习-产生10个1-20之间不重复随机数
package com.kxg_ArrayList;
import java.util.ArrayList;
import java.util.Random;
public class RandomDemo {
public static void main(String[] args) {
// 创建随机数对象
Random r = new Random();
// 创建存储随机数的集合,因为数组的长度是固定不可变的
ArrayList<Integer> list = new ArrayList<Integer>();
// 定义一个统计变量,控制循环次数
int count = 0;
while (count <= 10) {
// 定义一个1-20之间的随机数
int number = r.nextInt(20) + 1;
// 如果集合中不包含这个随机数,就添加进去,并且统计变量加一次,如果包含就一直循环
if (!list.contains(number)) {
list.add(number);
count++;
}
}
System.out.println(list);
}
}
复制代码
作者:
蔡锐
时间:
2015-7-14 14:28
学习了set类可以更简单的实现这个要求
import java.util.HashSet;
import java.util.Random;
/*
* 编写一个程序,获取10个1至20的随机数,要求随机数不能重复。
*
* 分析:
* A:创建随机数对象
* B:创建一个HashSet集合
* C:判断集合的长度是不是小于10
* 是:就创建一个随机数添加
* 否:不搭理它
* D:遍历HashSet集合
*/
public class HashSetDemo {
public static void main(String[] args) {
// 创建随机数对象
Random r = new Random();
// 创建一个Set集合
HashSet<Integer> ts = new HashSet<Integer>();
// 判断集合的长度是不是小于10
while (ts.size() < 10) {
int num = r.nextInt(20) + 1;
ts.add(num);
}
// 遍历Set集合
for (Integer i : ts) {
System.out.println(i);
}
}
}
复制代码
作者:
大漠孤星
时间:
2015-11-16 09:44
while (count <= 10) 中count<10才是10个随机数。因为默认值是0
作者:
ln0491
时间:
2015-11-16 12:35
学习了。。。。。。。。。。。
作者:
z13561291
时间:
2015-11-16 15:11
还在学习Set中 多谢分享
作者:
lvcj
时间:
2015-11-16 16:42
包左不包右
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2