尽管有种子,Java 随机数生成器始终返回相同的数字
在提供的 Java 代码中,尽管设置了种子,但随机数生成器始终返回相同的数字产生相同的数字。为每个方法调用创建新的 Random 对象时会出现问题。这确保每次都会生成新的种子,从而导致随机数的重复。
要解决此问题,必须在整个类中共享单个 Random 实例。通过合并此更改,我们保证种子仅设置一次,从而产生一系列真正的随机数。
public class Numbers { // Shared Random instance private Random randnum = new Random(); public int random(int i) { randnum.setSeed(123456789); return randnum.nextInt(i); } }
通过此修改,对 random 方法的后续调用将返回不同的数字,遵循拥有固定种子的限制。
以上是尽管设置了种子,为什么我的 Java 随机数生成器始终返回相同的数字?的详细内容。更多信息请关注PHP中文网其他相关文章!