不要随意设置随机数种子

测试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());
        }
    }
}

输出结果如下:
在这里插入图片描述

总结

从以上的测试结果可以得出,如果真的是想要随机数,那么就不要随意设置随机数种子。

猜你喜欢

转载自blog.csdn.net/weixin_38106322/article/details/108289672