【发布时间】:2014-11-09 11:03:44
【问题描述】:
在 Java 中:
我知道Random.setSeed(long seed); 做了什么。我知道什么是种子,以及每次使用它会如何变化。我是否需要手动更改种子以确保序列在一段时间后不会重复,或者它使用变量(例如系统时钟)自动操纵种子?
除非我指定种子,否则再次运行相同的程序不会产生相同的结果,因此它必须在构造函数中操作种子,但它会定期更改种子(我不是在谈论每次使用时更改种子)?
澄清:
种子会随着每次使用而变化,但在某些时候种子会变成构造随机数时的数字。
我需要打电话给Random.setSeed(System.currentTimeInMillis())吗?偶尔确保序列在使用后不会重复?
【问题讨论】:
-
我认为我的沟通有问题。种子随每次使用而变化。经过一些使用后,它变成了构建 Random 时的数字,并从该点开始重复序列。如果我偶尔使用系统时钟序列手动设置种子,它永远不会重复。但是 Random 类自己做吗?链接的问题没有回答我的问题。
标签: java random random-seed