Randomの種

1300 ワード

2つのRandomインスタンスが同じシードを使用し、同じ順序でメソッドを呼び出すと、同じ数値シーケンスが生成されます.
public static void main(String[] args) {
Random rand = new Random(50);
System.out.println("nextBoolean():" + rand.nextBoolean());
byte[] buffer = new byte[16];
rand.nextBytes(buffer);
System.out.println(Arrays.toString(buffer));
System.out.println(rand.nextDouble());
System.out.println(rand.nextFloat());
System.out.println(rand.nextInt());
System.out.println(rand.nextInt(26));
Random rand2 = new Random(50);
System.out.println("nextBoolean():" + rand2.nextBoolean());
byte[] buffer2 = new byte[16];
rand2.nextBytes(buffer2);
System.out.println(Arrays.toString(buffer2));
System.out.println(rand2.nextDouble());
System.out.println(rand2.nextFloat());
System.out.println(rand2.nextInt());
System.out.println(rand2.nextInt(26));

}

結果:
nextBoolean():true
[-8, 115, 15, -103, -29, 116, 57, -99, 81, -20, 88, -46, 78, -12, 31, -97]
0.48963797841008827
0.7030554
-942771064
24
nextBoolean():true
[-8, 115, 15, -103, -29, 116, 57, -99, 81, -20, 88, -46, 78, -12, 31, -97]
0.48963797841008827
0.7030554
-942771064
24