java.util.Random rand = new java.util.Random(System.currentTimeMillis());
int iValue = rand.nextInt();
double dValue = rand.nextDouble();
boolean boolValue = rand.nextBoolean();
...

解决方案 »

  1.   

    Math.random方法只能得到[0,1)之间的一个浮点数,所以你要得到的数的范围就要在此基础上改进!比如得到[0,100) Math.random()*100
      

  2.   

    部分代码:
    count_boy:共有多少个数
    生成5个随即数并且不能重复,当然可以去掉限制      Random rd = new Random();
          int rdNum[] = new int[5];    //生成5个随即数并且不能重复      for (int n=0; n<5; n++)
                rdNum[n] = -1;      int rdGet;
          int i = 0;      while (i < 5)
          {
            boolean isExit = false;
            rdGet = Math.abs(rd.nextInt()) % count_boy;        for (int j=0; j<5; j++)
            {
              if (rdGet == rdNum[j])
              {
                isExit = true;
              }
            }        if (isExit == false)
            {
              rdNum[i] = rdGet;
              i++;
            }
          }
          //随机数生成完毕      for (int j=0;j<5;j++)
          {
            boy[j] = user_boy[rdNum[j]];
          }
        }
      

  3.   

    有个方法Math.random()产生0到1之间的随机数
      

  4.   

    java.util.Random rand = new java.util.Random(System.currentTimeMillis());
    int iValue = rand.nextInt();
    一般这样产生的随机数很大.所以
    int iValue=rand.nextInt()%100
    这样能产生可能1-100&(-1)--(-100)的数...
      

  5.   

    确切的说Math.random()取到的数是[0,1)(大于等于0小于1)
    所以你要取道从a到b的随机数那么就是(int)((b-a)*Math.random()+a)