黑马程序员技术交流社区
标题:
随机数问题谁有不用集合的做法去重复
[打印本页]
作者:
songchangchang
时间:
2016-10-13 19:44
标题:
随机数问题谁有不用集合的做法去重复
编写一个程序,获取10个1至20的随机数,要求随机数不能重复。
答案:
import java.util.ArrayList;
import java.util.Random;
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;
//判断该随机数在集合中是否存在。
if(!array.contains(number)){
//如果不存在:就添加,统计变量++。
array.add(number);
count++;
}
}
//遍历集合
for(Integer i : array){
System.out.println(i);
}
}
}
方法二:
import java.util.HashSet;
import java.util.Random;
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);
}
}
}
作者:
若白衣卿相
时间:
2016-10-13 20:52
回复再看,妹子发的技术贴?支持支持
作者:
CreScert
时间:
2016-10-14 22:42
不用集合,用数组啊,一维不行用两维。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2