测试demo:
public class Test {
public static void main(String[] args) {
Random r = new Random(1000);
System.out.println(r.nextInt());
}
}
以上代码不管运行几次,会发现结果都如下:
这就全部不符合随机数的要求了。
原因是在Java中,随机数的产生取决于种子,随机数和种子之间的关系遵从两个规则:
- 种子不同,产生随机数也不同
- 种子相同,即使实例不同,产生的随机数也是相同的
测试下实例不同的情况,如下:
public class Test {
public static void main(String[] args) {
for (int i = 0; i < 3; i++) {
Random r = new Random(1000);
System.out.println(r.nextInt());
}
}
}
输出结果如下:
总结
从以上的测试结果可以得出,如果真的是想要随机数,那么就不要随意设置随机数种子。