首页 > java.util.Random的问题

java.util.Random的问题

package com.welcome;
import java.util.*;
public class RandomNumber {

public static int genInt(int n){
    Random rdm = new Random(n);
    n = rdm.nextInt(n);
    return n;
}
public static void main(String[] args){
    int before = genInt(30);
    int after = genInt(31);
    int i =0;
    while(i<25){
        if(before>after){
            System.out.println("before:"+before+",after:"+after+"before>after");
        }else if(before<after){
            System.out.println("before:"+before+",after:"+after+"before<after");
        }else{
            System.out.println("before:"+before+",after:"+after+"before==after");
        }
        before = genInt(before);
        after = genInt(after);
        i++;
    }
}

}

运行出错:
before:26,after:6before>after
before:22,after:1before>after
before:2,after:0before>after
Exception in thread "main" java.lang.IllegalArgumentException: n must be positive

at java.util.Random.nextInt(Unknown Source)
at com.welcome.RandomNumber.genInt(RandomNumber.java:6)
at com.welcome.RandomNumber.main(RandomNumber.java:22)

0不是positive


第三次after已经是0了,而rmd.nextInt(int bound),参数bound必须大于0哦。

【热门文章】
【热门文章】