Random a = new Random(47)什么意思 要具体的。比如为什么要47等等............

2024-11-21 22:18:40
推荐回答(2个)
回答1:

47作为随机种子用,为的就是产生随机数。
而为了每次取得随机数不同,随机种子必须也要不同才行。

如果用构造一个指定种子的Random,则如果所指定的种子相同(本例为47),
且调用的方法相同,则产生的随机数也相同。

回答2:

Random类包含两个构造方法,下面依次进行介绍:
1. public Random()
该构造方法使用一个和当前系统时间对应的相对时间有关的数字作为种子数,然后使用这个种子数构造Random对象。
2. public Random(long seed)
该构造方法可以通过制定一个种子数进行创建。
示例代码:
Random r = new Random();
Random r1 = new Random(10);
Random r2 = new Random(10);
强调一下:做为种子的数字只是随机算法的起源数字,和生成的随机数字的区间无关。相同种子数的Random对象,相同次数生成的随机数字是完全相同的. 所以无论项目中需要生成多少个随机数字,都只使用一个Random对象即可, 即:
r1.nextInt();
r2.nextInt();
在第一次或(第相同次)调用时返回的随机数是相同的, 但
for(int i = 0;i < 2;i++){
System.out.println(r1.nextInt());
}
会生成两个不同的随机数