A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

求代码和注释

3 个回复

倒序浏览
cat73 黑马帝 2016-7-31 23:22:18
沙发
简单思路:
一个 List,加入 1 ~ 20 这 20 个数字,每次 random.nextInt(List.size()); 取一个位置。
将 List 中这个位置的数字作为结果返回。
然后从 List 里删掉这个数字。

妮也可以用其他东西代替 List,比如数组。
回复 使用道具 举报
[Java] 纯文本查看 复制代码
Random r = new Random();
TreeSet<Integer> set = new TreeSet<Integer>();
	while (set.size() != 10) {
		int num = r.nextInt(20) + 1;
		set.add(num);
	}
	System.out.println(set);
回复 使用道具 举报
public static void main(String[] args) {
                //这里使用HashSet存储 整数  HashSet是无序且不可重复的
                HashSet<Integer> set = new HashSet<Integer>();
                //创建随机数对象
                Random random = new Random();
                //当set中的个数小于10的时候 就一add因为add相同的元素时 元素会被冲掉 所以这里选择while循环
                while(set.size()<10){
                        set.add(random.nextInt(20)+1);
                }
                //使用增强for来遍历set集合
                for(Integer i : set){
                        System.out.print(i+"  ");
                }
        }

评分

参与人数 1黑马币 +3 收起 理由
r1503882525 + 3 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马