我写了模拟骰子掷骰子的程序
Random r = new Random();
int result = r.nextInt(6);
System.out.println(result);
我想知道是否有一种方法可以“预测”下一个生成的数字,并且JVM如何确定下一个生成的数字?
在任何JVM和OS上,我的代码输出数字都将接近真实随机数吗?
它们是伪随机数,这意味着出于一般意图和目的,它们足够随机。但是它们是确定性的,并且完全取决于种子。以下代码将两次打印相同的10个数字。
Random rnd = new Random(1234);
for(int i = 0;i < 10; i++)
System.out.println(rnd.nextInt(100));
rnd = new Random(1234);
for(int i = 0;i < 10; i++)
System.out.println(rnd.nextInt(100));
如果可以选择种子,则可以先预先计算数字,然后使用相同的种子重置生成器,您将事先知道会出现什么数字。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句