我想生成两个整数之间的随机数.在我的情况下,数字必须满足一些其他条件.我把generator.nextInt(x)在一个循环中,并重新设置种子,如果新的号码不符合我的条件.
当我System.currentTimeMillis()用作种子时,生成的数字与循环迭代次数相同.我替换System.currentTimeMillis()了System.nanoTime().结果比前一个好得多.
我想知道有没有更好的方法来设定种子?
rge*_*man 11
你可以使用构造函数来Random获取参数.该构造函数System.nanoTime()已基于已初始化其种子.每次调用该构造函数时,种子都会不同.
一般来说,Random当你想要一个可重复的随机数据序列(它们是确定的)时,你只会自己种子.
无论哪种方式,您始终可以保持调用nextInt(或任何nextXyz方法)并保持获得更多随机数,而无需为每个数字重新种子.
Java中的随机数是伪随机数.他们需要一个用于生成下一个随机数的种子.
| 归档时间: |
|
| 查看次数: |
2088 次 |
| 最近记录: |