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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

徐鑫_xx

中级黑马

  • 黑马币:50

  • 帖子:58

  • 精华:0

© 徐鑫_xx 中级黑马   /  2016-7-11 22:43  /  536 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

获取1-10之间的随机值,每次只能获取一个且不能重复,一共获取10个~
我的思路是:定义一个数组,里面有十位数;数组的每一位数为0-10之间的平均值用random,如果新出现的数字与之前的不相同则打印这个值,一共打印10次

5 个回复

倒序浏览
我会考虑用循环
回复 使用道具 举报
1.定义长度10的一维数组,赋初值0

2.用Random类的nextInt方法获得0-9之间的随机数,然后+1,得到1-10的随机数

3.for循环遍历数组,不存在则赋值到数组,存在再次获取,while循环直到为第10个数赋值
回复 使用道具 举报
cat73 黑马帝 2016-7-12 17:14:07
板凳
搞定,每次执行结果都不同。
  1.         List<Integer> nums = new ArrayList<>();
  2.         
  3.         for(int num = 1; num <= 10; num++) {
  4.             nums.add(num);
  5.         }
  6.         
  7.         Collections.shuffle(nums);
  8.         
  9.         for(int num : nums) {
  10.             System.out.print(num);
  11.             System.out.print(' ');
  12.         }
复制代码
回复 使用道具 举报
cat73 发表于 2016-7-12 17:14
搞定,每次执行结果都不同。

学到了
回复 使用道具 举报
可以把随机数添加到HashSet集合中,在HashSet集合中元素不可以重复,建立循环添加元素,知道HashSet的长度大于10.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马