java随机生成6位数,要求每次产生的随机数与已生成的随机数不重复,小弟觉得用random产生的数可能重复。

如题所述

package baidu;
import java.io.*;
import java.util.HashSet;
import java.util.Set;
/**
 *
 * @author stcdasqy
 */
public class Baidu {
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args){
       Set<Integer> m = new HashSet<Integer>();
       for(int i=0;i<100;i++){
           int a;
           do{
            a = (int)(Math.random()*1000000);
           }while(m.contains(a));
           m.add(a);
        System.out.println(a);
       }
    }
    
}

这样就可以了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-19
有好几种方法,
1 两层循环去重复
2 利用hashset的不重复的特性
3 排除已随机到的数

还有其他的,你可以再搜搜,希望能帮助你
详见
http://wsjiang.iteye.com/blog/1775341
相似回答