怎么一次性产生某个范围内的2个随机数 
  譬如 一次产生 2个 1到33 的随机数 用循环吗 ? 或者有更高的办法....
     用一个数组接受每次循环产生的随机数外 还有其他的方式吗 ? 因为产生的个数每次不一样 用集合是可以 
       有更好的办法吗 ?
       

解决方案 »

  1.   


    Random r = new Random();
    int iRandom = 0;for(int i=0;i<2;i++){   iRandom = r.nextInt(33);
       System.out.println(iRandom);}
    数组 List Map Set都可以存放。 这随便你
      

  2.   

    一次性产生多个随机数和多次性产生多个随机数有区别么,一样的呀,
    要不你按我下面写的做,random一次,就得到2个数Random r = new Random();
    int iRandom = 0;
    iRandom = r.nextInt(33*33);
    int iRandom1 = iRandom/33;
    int iRandom2 = iRandom%33;
    System.out.println("iRandom1="+iRandom1);
    System.out.println("iRandom2="+iRandom2);
      

  3.   

    http://blog.csdn.net/herrapfel/article/details/1885016
      

  4.   


    Random r = new Random();
    int iRandom = 0;
    iRandom = r.nextInt(33*33);
    int iRandom1 = iRandom/33;
    int iRandom2 = iRandom%33;
    Sy……
    [/Quote] 那我一次性要产生6 个 7 个随机数 那不写死啊  或者用循环每次产生吗 .
      

  5.   

    9楼,那就把次数传入进来,放到int count里,循环count次,每次random一个随机数,就得到count个参数了,全放到list里,传出去,不会写死的,
      

  6.   

    多的话还是用循环,毕竟循环可又重复啊
    要么就用集合,list,然后也是走一次存一个
    操作,更新的话还是集合方便点
      

  7.   

    int random(int min,int max){
         return (int)(Math.random()*(max-min) + min)
    }
      

  8.   

    不用用循环吧,直接用int i = (int)(Math.random()*34+1);
    int j = (int)(Math.random()*34+1);就ok了,用两次就好了
      

  9.   

    Java codeRandom r = new Random();
    int iRandom = 0;for(int i=0;i<2;i++){iRandom = r.nextInt(33)+1;
    System.out.println(iRandom);}