ホームページ >Java >&#&チュートリアル >Javaで指定された範囲内でランダムなDoubleを生成するにはどうすればよいですか?
Java では、さまざまなアプリケーションのために指定された範囲内で乱数を生成することが必要になることがよくあります。たとえば、シミュレーションやゲームでは、特定の間隔内でランダムな値を作成する必要がある場合があります。
標準ライブラリには、乱数を生成するための Random クラスが用意されています。ただし、生成できるのは 0.0 (両端を含む) と 1.0 (両端を含まない) の間のランダムな double のみです。別の範囲内でランダムな double を生成するには、いくつかの変換を適用する必要があります。
目的の範囲を表す 2 つの double の min と max があるとします。最小値と最大値の間のランダムな double を生成するには、次の式を使用できます。
<code class="java">double randomValue = min + (max - min) * r.nextDouble();</code>
ここで、r は Random クラスのインスタンスです。 r.nextDouble() の結果に max と min の差を乗算することで、範囲を min から開始するようにシフトし、目的の間隔内に収まるようにスケールを変更します。続いて、この値に min を加算すると、指定された範囲内の最終的なランダムな double が得られます。
<code class="java">import java.util.Random; public class RandomDoubleRange { public static void main(String[] args) { double min = 100.0; double max = 101.0; Random r = new Random(); double randomValue = min + (max - min) * r.nextDouble(); // Output the generated random double System.out.println("Random Double: " + randomValue); } }</code>
このコードを実行すると、次の範囲にあるランダムな double 値が取得されます。 100.0 と 101.0 を含みます。このアプローチは、任意の範囲内でランダムな double を生成する柔軟な方法を提供します。
以上がJavaで指定された範囲内でランダムなDoubleを生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。