用nextInt()就可以了,不用加参数。
不过一般不用这种方法,产生一般的随机树用Math.random(),随机整数用Math.random()*a+b得到a到b间的随机数.

解决方案 »

  1.   

    同意 nay0648() 的说法.....
      

  2.   

    // 随机整数用Math.random()*a+b得到a到b间的随机数.不对!!!!!
      

  3.   

    package examsystem;
    import java.util.*;/**
     * Title:        TestOnline
     * Description:
     * Copyright:    Copyright (c) 2003
     * Company:      NSI
     * @author junzhang.li
     * @version 1.0
     */public class Stochastic {  public Stochastic() {
      }
      public int number(int n){
        Random rand=new Random();
        int i=rand.nextInt();
        i%=n;
        while(i==0)
        {
    i=rand.nextInt();
    i%=n;
        }
        if(i<0)
    i=-i;
        return(i);
      }
      //--------------------&#65430;篌&#65391;&#65418;&#63729;
      /*public static void main(String[] args) {
        Stochastic stochastic1 = new Stochastic();
        int p=stochastic1.number(10);
        System.out.print(p);
      }*/
      //---------------------
    }
    这是我以前做的,测试通过
      

  4.   

    package random;import java.util.Random;
    /**
     * <p>Title: </p>
     * <p>Description: </p>
     * <p>Copyright: Copyright (c) 2004</p>
     * <p>Company: </p>
     * @author not attributable
     * @version 1.0
     */public class randomBean {  public randomBean() {
      }
      private int[] getRandom(int ipar){
        Random m=new Random();
        int ri[]=new int[7];
        for(int i=0;i<7;i++){
          ri[i]=m.nextInt(ipar);    }    return ri;
      }
      public int[] returnRandom(){    int[] iArray=getRandom(36);
        int iSize=iArray.length;
        for(int i=0;i<iSize;i++){
          for(int j=i+1;j<iSize;j++){
            if(iArray[i]==iArray[j]){
              iArray=returnRandom();          return iArray;
            }else if(iArray[i]==0 || iArray[j]==0){
                  iArray=returnRandom();
                  return iArray;
              }
          }
        }
          return iArray;
      }}