关于Random产生伪随机数

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作为种子,得到的值每次都为固定值了。 

  这则为伪随机数。

   

posted on 2017-06-25 21:21  sherry111  阅读(370)  评论(3)    收藏  举报