我使用下面的代码生成带种子的随机数,以便下次我可以生成相同的结果。
int seed = 100;
Random rand = new Random(seed);
我设法在同一天从该计划中取回相同的结果,但在一两天之后我得到了完全不同的结果。我实现随机种子的方式有问题吗?以前有人遇到过这个吗?
答案 0 :(得分:3)
引自Javadoc:
如果使用相同的种子创建了两个Random实例,并且为每个实例创建了相同的方法调用序列,则它们将生成并返回相同的数字序列。
这实际上取决于你如何使用该实例。它必须与您调用的方法序列完全相同。
这意味着问题出在调用Random
实例上的方法的代码中。调用的方法序列似乎依赖于一些可以改变它的条件。