在JAVA里怎么使用随机数啊,比如要生成1~31之间的随机整数怎么写?
谢谢大家。

解决方案 »

  1.   

    好像Math类中有一个random(),你用它生成一个0——1之间的数,再乘以31。具体方法,请查API。
      

  2.   

    在j2se里我们可以使用Math.random()方法来产生一个随机数,这个产生的随机数是0-1之间的一个double,我们可以把他乘以一定的数,比如说乘以100,他就是个100以内的随机,这个在j2me中没有。[
      

  3.   

    public static int getRandom(int n) {
    Random rdm = new Random();
    return rdm.nextInt(n);//注:这里返回的是从0到n-1的随机数! }
      

  4.   

    newRandom().nextInt(31) + 1;
      

  5.   

    int i=new Random().newInt(31)+1;
    看看java API就明白了
      

  6.   

    new Random().nextInt(31)+1;
    因为new Random().nextInt(31)是0~30之间的随机数
      

  7.   

    public class test {
    public static void main(String[] args){
    System.out.println(new Random().nextInt(31));
    }
    }
      

  8.   

    还有一种方法int i=(int)(Math.random()*31)+1;其中Math.random()返回的数的范围是【0,1),乘以31,得到的范围是[0,31),强制转化为int之后是 [0,30]之间的任意整数,再加上1就是 1-31之间的任意整数
      

  9.   

    10楼的方法我试了,怎么不行啊,出现如下:“Test.java:3: 找不到符号
    符号: 类 Random
    位置: 类 Test
       System.out.println(new Random().nextInt(31));
                              ^
    1 错误
      

  10.   

    最容易被初学者接受,也是经常看到的就是像13楼写的random()*31+1
      

  11.   

    Random*31产生的是从0~30之间的任意数,可能是整数,也可能是浮点数,要强制类型转换为int型
      

  12.   

    方法random称为伪随机数生成器,它返回一个大于等于0.0,小于1.0的数。我们可以通过对返回的数值进行转换,使它落在规定的区间去,比如我们需要的区间范围是【min,max】,如果x是返回的随机数,可以用以下公式将其转换成Y,使得Y落在区间【min,max】,Y=min+[X*(max-min+1)},其中{}表示向下取整。这样你要生成1~31的随机整数的话,应该是这样的:        int randomNumber =(int)(Math.floor(Math.random()*31))+1;
      

  13.   

    new Random().nextInt(31) + 1;copy and paste