Random rand =new Random(47);

来源:互联网 发布:j罗 皇马 数据 编辑:程序博客网 时间:2024/04/30 16:00

Random(47)里面的47就是所谓的种子 如果不填充数值的话 那么默认参数为系统时间; THINK IN JAVA 里总会有Random rand =new Random(47)的
 作者似乎觉得47是个幸运数字;

所谓种子就是产生随机数的一个参考值;影响产生的随机数;而与产生随机数的范围没有关系;int rand.nextInt(int i);方法中的i的大小影响随机数的取值范围(0~i-1);即相同的范围下不同的种子每一回产生的随机数不同;反之,相同的范围下相同的种子每一回产生的随机数相同;

下面举例说明:

Random r1= new Random(1);

Random r2= new Random(1);
Random r3= new Random(2);

for(int i=0;i<1000;i++){
int i = r1.nextInt(100);
int j = r2.nextInt(100);
int k = r3.nextInt(100);
}

这里面每一次 i和j 都是相等的 因为它们的种子一样 都是1 ,k就不一样了,因为种子是2,产生的数和种子无关 而是你调用的nextXXX决定的 nextInt(100)就是0~99~~

1 0