random()有一个有参的构造方法,即是可以传递参数的,传了参之后就不随机了,有一定的限制性,也就是我们的种子数定死了.
以一段代码为例:
import java.util.*;
public class TestRandom{
public static void main(String [] args) {
Random rand = new Random(47);
Random rand1=new Random(47);
System.out.println(rand.nextInt(10));
System.out.println(rand1.nextInt(10))
}
}
Random.nextInt() 得到的按道理讲,应该是随机结果,但这个测试程序都是输出为8。
原因就在于:Random得到的都是伪随机数列,但传递了一个参数,每次都以47作为种子,得到的值每次都为固定值了。
这则为伪随机数。