黑马程序员技术交流社区

标题: 这是一篇求助帖~ [打印本页]

作者: 徐鑫_xx    时间: 2016-7-11 22:43
标题: 这是一篇求助帖~
获取1-10之间的随机值,每次只能获取一个且不能重复,一共获取10个~
我的思路是:定义一个数组,里面有十位数;数组的每一位数为0-10之间的平均值用random,如果新出现的数字与之前的不相同则打印这个值,一共打印10次
作者: Rowen_H    时间: 2016-7-11 23:40
我会考虑用循环
作者: 夏萱    时间: 2016-7-12 16:55
1.定义长度10的一维数组,赋初值0

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

3.for循环遍历数组,不存在则赋值到数组,存在再次获取,while循环直到为第10个数赋值
作者: cat73    时间: 2016-7-12 17:14
搞定,每次执行结果都不同。
  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.         }
复制代码

作者: 夏萱    时间: 2016-7-12 21:15
cat73 发表于 2016-7-12 17:14
搞定,每次执行结果都不同。

学到了
作者: 地狱蓝枫    时间: 2016-7-12 22:47
可以把随机数添加到HashSet集合中,在HashSet集合中元素不可以重复,建立循环添加元素,知道HashSet的长度大于10.




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2