Javaで2つの数値の間でランダムな数を生成する方法


Javaで2つの数値の間でランダムな数を生成する方法について説明します。以下にシンプルで簡単な2つのアプローチとコード例を示します。

アプローチ1: Math.random()を使用する方法 Math.random()メソッドは、0以上1未満の範囲でランダムな浮動小数点数を生成します。この値を使って範囲内のランダムな整数を生成することができます。以下に例を示します。

int min = 1;
int max = 10;
int randomNum = min + (int)(Math.random() * ((max - min) + 1));
System.out.println(randomNum);

上記の例では、minとmaxの値は範囲の下限と上限を表しています。Math.random() * ((max - min) + 1) の部分は、範囲内の乱数を生成するために使用されます。最後に、minを加えることで、ランダムな整数が指定された範囲内で生成されます。

アプローチ2: Randomクラスを使用する方法 Javaには、Randomクラスを使用してランダムな数値を生成するための便利なメソッドが用意されています。以下に例を示します。

import java.util.Random;
int min = 1;
int max = 10;
Random random = new Random();
int randomNum = random.nextInt(max - min + 1) + min;
System.out.println(randomNum);

RandomクラスのnextInt(int bound)メソッドは、0以上指定した上限未満の範囲でランダムな整数を生成します。上記の例では、max - min + 1をboundとして指定することで、指定した範囲内の乱数を生成しています。

いずれのアプローチも、指定した範囲内でランダムな数値を生成することができます。選択するアプローチは好みや特定の要件によって異なる場合があります。