我下面一本书,并在此代码:为什么我用Random Run获得相同的数字?
Random rand = new Random(47);
int i, j, k;
j = rand.nextInt(100) + 1;
System.out.println("j : " + j);
k = rand.nextInt(100) + 1;
System.out.println("k : " + k);
我在这本书的输出相同的号码,那就是:
j : 59
k : 56
如果我使用
Random rand = new Random();
没有47随机类产生随机数,这是可以的,但为什么如果我把数字47加入j = rand.nextInt(100) + 1;
为什么我得到相同的输出? 谢谢
构造函数的参数是[random seed](https://en.wikipedia.org/wiki/Random_seed)。有关更多信息,请参阅[此问题](http://stackoverflow.com/questions/1619627/what-does-seeding-mean)。 – Phylogenesis
因为机器不能随机。通过提供固定的种子,您可以保证一遍又一遍地产生相同的输出。在后台,还需要计算一个随机数。 – SomeJavaGuy