黑马程序员技术交流社区

标题: 如何使生成的若干随机数都不重复? [打印本页]

作者: 亮仔开发    时间: 2017-3-5 21:51
标题: 如何使生成的若干随机数都不重复?
这问题困扰我好几天了,求诸位大神解疑!非常感谢

作者: 小桥@    时间: 2017-3-5 22:07
刚做这个题,有点绕,用集合做的,先随机一个数扔进集合,然后两个for循环,外层控制随机数的个数,条件上设置到了个数就结束,主体生成随机数,内层for类似遍历,从0遍历到长度,如果外层随机数与集合里元素相同,就打断,否则就把数扔进集合

作者: 亮仔开发    时间: 2017-3-5 22:09
能写下代码吗?不是很清楚
作者: 小桥@    时间: 2017-3-5 22:15
我这是生成7个的



作者: 小桥@    时间: 2017-3-5 22:16
题目是,生成7个不同的1-33的随机数,原理一样

作者: 亮仔开发    时间: 2017-3-5 22:51
你这代码运行后有重复的。
作者: 亮仔开发    时间: 2017-3-5 22:53
[Java] 纯文本查看 复制代码
import java.util.ArrayList;
import java.util.Random;

public class Demo04 {

        public static void main(String[] args) {
                ArrayList<Integer> list = new ArrayList<Integer>();
                Random r = new Random();
//生成6个红球的随机数
                while(list.size()<6){
                        int a = r.nextInt(33)+1;
                        if(!list.contains(a)){
                                list.add(a);
                        }
                }
//再生成一个篮球
                while(true){
                int b = r.nextInt(16)+1;
                if(!list.contains(b)){
                        list.add(b);
                        break ;
                }
        }
                System.out.println(list);
        }
}

作者: 守望の希望    时间: 2017-3-6 05:44
放linkedhashset集合中set集合不允许重复

作者: 亮仔开发    时间: 2017-3-6 19:59
没看懂什么意思,可以解释一下吗




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