java中如何生成不重复的随机数呢?比如生成0-50之间的随机数且不能重复!

如题所述

只需要将生成的随机数存起来,下次产生后先去查询一下是否存在,如果存在,则继续生成随机数,再次检查是否存在,否则返回。追问

刚学java怎么不会啊 能不能帮我写一下

追答private ArrayList<int> list =new ArrayList<int>();
public int getRandom(){
    int r = (int)(Math.random() * 50);
    for(int v : list){
        if(v == r){
            return getRandom();
        } 
    }
    list.add(r);
    return r;
}

没调试,自己弄吧。

追问

前两行什么意思?

追答

定义一个全局私有集合变量list;
定义一个公共方法getRandom

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-27
输出来前,作个比较就完事了

你应该是,不放回取数吧本回答被网友采纳