ホームページ > Java > &#&チュートリアル > Javaで特定の範囲内でランダムな整数(およびDouble)を生成するにはどうすればよいですか?

Javaで特定の範囲内でランダムな整数(およびDouble)を生成するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-04 19:53:11
オリジナル
375 人が閲覧しました

How to Generate Random Integers (and Doubles) Within a Specific Range in Java?

Math.random() 操作: 指定された範囲内のランダムな整数の生成

Java 関数 Math.random() は、範囲内の乱数を生成します。範囲 [0, 1)。ただし、特定の範囲内のランダムな整数を取得する必要がある状況もあります。この記事では、Math.random() を使用してこれを実現する方法を示します。

3 から 5 までのランダムな整数を生成する意図

ステートメント "(int) Math .random() * 5 3" は範囲 [3, 5] 内のランダムな整数を正しく生成しません。カスタム メソッドを使用して修正できます。メソッド:

int randomWithRange(int min, int max) {
    int range = (max - min) + 1;
    return (int) (Math.random() * range) + min;
}
ログイン後にコピー

このメソッドは、可能な値の範囲を計算し、Math.random() で乗算し、包含性を確保するために最小値を追加します。

出力例

System.out.println(randomWithRange(3, 5));
// Output: 3
ログイン後にコピー

間違ったものに対する馬鹿防止順序付け

最小値が最大値より大きい場合のエラーを防ぐために、更新されたメソッドは次のとおりです:

int randomWithRange(int min, int max) {
    int range = Math.abs(max - min) + 1;
    return (int) (Math.random() * range) + (min <= max ? min : max);
}
ログイン後にコピー

二重乱数生成の拡張

同様の方法を使用して、ランダムな倍精度を生成できます数値:

double randomWithRange(double min, double max) {
    double range = (max - min);
    return (Math.random() * range) + min;
}
ログイン後にコピー

このメソッドの使用:

System.out.println(randomWithRange(3.0, 5.0));
ログイン後にコピー

以上がJavaで特定の範囲内でランダムな整数(およびDouble)を生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート