我在互联网上遇到了一段代码片段。在这里
public class Test {
public static void main(String[] args) {
Random random = new Random(441287210);
for(int j=0;j<10;j++) {
System.out.print(random.nextInt(10)+" ");
}
}
}
每次我运行它都会打印1 1 1 1 1 1 1 1 1 1
。这可能是有充分理由的。
为什么会出现这种行为。
这是来源 - &gt; http://www.javacodegeeks.com/2011/10/weird-funny-java.html
答案 0 :(得分:8)
您正在将伪随机数字生成器初始化为特定状态,这意味着它将始终在运行中生成相同的输出。看起来有人刚发现种子恰好会产生一系列有趣的结果。
答案 1 :(得分:1)
每个Random
种子生成相同的数字序列。 441287210种子生成此序列,就像任何其他生成的序列一样...
如果使用相同的种子创建了两个Random实例,那么 为每个方法调用相同的方法调用,它们将生成和 返回相同的数字序列