【发布时间】:2012-11-05 23:14:52
【问题描述】:
在这段代码中:
Random random = new Random(441287210);
for(int i=0;i<10;i++)
System.out.print(random.nextInt(10)+" ");
}
每次输出都是1 1 1 1 1 1 1 1 1 1。
这是为什么? Random 不应该是……嗯……随机的吗?我以为Random类使用System.nanoTime,所以输出一般应该是随机的。谁能解释一下?
【问题讨论】:
-
@JeremyD 不是真的 - 这个问题每次都会创建一个新的随机对象。
-
“任何考虑产生随机数字的算术方法的人,当然都处于一种犯罪状态。” ——约翰·冯·诺依曼
-
@climbage 如果你不看问题,但第二个答案是正确的答案,和这里提出的一样:)