Java でシードを使用する乱数を理解する
Java では、シードを使用して Random インスタンスを初期化し、一連の擬似乱数を生成します。同じシードが提供されると、Random インスタンスは同じ一連の数値を生成します。
なぜ乱数は毎回同じなのですか?
提供されたコード内:
double num = generator.nextDouble() * (0.5);
randomGenerator の呼び出しごとに同じシードを使用しているため、同じシーケンスのランダムが生成されます。
修正方法
シードを使用して異なる乱数シーケンスを生成するには:
例:
private Random generator = new Random(); // outside randomGenerator double randomGenerator() { return generator.nextDouble() * (0.5); // inside randomGenerator }
擬似乱数生成
擬似乱数ジェネレーター (PRNG) は、ランダムに見えるシーケンスを生成しますが、決定的であり、初期値がシードされます。同じシードが使用される場合、PRNG は同じシーケンスを生成します。
以上がJava の乱数が毎回同じように見えるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。