我要一次生成100个随机数,但是生成的随机数是唯一的,请高手帮忙?????

解决方案 »

  1.   

    Random r = new Random();
    for(int i=0;i<100;i++){
      r.nextInt();
    }
      

  2.   

    Random rand = New(Random);
    for (int i=0;i<100;i++)
      rand.NextInt();
      

  3.   

    public class Test{
    public static void main(String[] args){ 
    Random r = new Random();
    for(int i=0;i<100;i++){
      System.out.println(r.nextInt(1000000));
    }
    }
    }
      

  4.   

    public class NotSameRandoml {
    public static void main(String []args){
    Random r = new Random();
          Map map = new HashMap();
          while(true){
          map.put(new Integer(r.nextInt(10000)),"R");
          if(map.size()==100)break;
          }
          
          Iterator it = map.keySet().iterator();
          int i =0;
          for(;it.hasNext();){
           Object o = it.next();
           i++;
           System.out.println(""+i+"="+((Integer)o).intValue());
          }
    }
    }
      

  5.   

    new Random().nextInt(10000)生成的数会不会重复?
    哦,好像这样生成的不会重复,那我这样做就多此一举了。
      

  6.   

    Random生成的是伪随机数,也就是说每次生成的都是一样的
    new Random().nextInt();
    new Random().nextInt();
    两者生成的是一样的,但是在一次生成序列中是不会重复的(概率上)
      

  7.   

    谢谢treeroot(旗鲁特) 的提醒。
    试了,如果new Random().nextInt(150)的话,就会重复,但若0000太大,因此很难重得。以下还可以得到每个数重复个数。package test.util;import java.util.*;public class NotSameRandoml {
    public static void main(String []args){
    Random r = new Random();
          Map map = new HashMap();
          int n = 0;
          int nt = 0;
          while(true){
             n = r.nextInt(150);
             nt = 0;
             if( map.get(new Integer(n))!=null){
              nt = ((Integer)map.get(new Integer(n))).intValue();
             }
             nt++;
          map.put(new Integer(n),new Integer(nt));
          if(map.size()==100)break;
          }
          
          Iterator it = map.keySet().iterator();
          int i =0;
          for(;it.hasNext();){
           Object o = it.next();
           i++;
           System.out.println(""+((Integer)o).intValue()+"have:"+((Integer)map.get(o)).intValue() );
          }
    }
    }
      

  8.   

    public static void main(String[] args) {
    int[] num = new int[1000];
    Random r =new Random(System.currentTimeMillis());
    for(int i=0;i<100;i++){
    while(!(num[i]>99999&&num[i]<999999))
        num[i]=Math.abs(r.nextInt()%1000000);
        System.out.println(num[i]);
    }
    }
      

  9.   

    public static void main(String[] args) {
    int[] num = new int[1000];
    Random r =new Random(System.currentTimeMillis());
    for(int i=0;i<100;i++){
    num[i]=Math.abs(r.nextInt()%1000000);
    System.out.println(num[i]);
    }
    }