乱数を生成する

Math クラスで用意されている random メソッドを使用すると、乱数を生成することができます。ここでは Java で乱数を生成する方法について解説します。

(Last modified: )

Math.randomメソッドの使い方

乱数を生成するには Math クラスで用意されている random メソッドを使います。 random メソッドはクラスメソッドです。書式は次の通りです。

public static double random()

戻り値:
0.0以上1.0未満の擬似乱数double

メソッドを実行すると 0.0 以上 1.0 未満のランダムな数値が返されます。実際にどのような数値が帰ってくるのか 6 回連続 random メソッドを実行し、取得したら乱数を画面に出力してみます。

0.4587456540752818
0.37157089324631776
0.6622905642278082
0.18349736954131435
0.05238878469063901
0.8345075789660998

戻り値は double 型の値で 0.0 以上 1.0 未満の数値なので、もし 1 から 10 までの整数をランダムで取得したい場合は、取得した乱数の値を 10 倍し、切り上げてください。数値の切り上げには Math クラスの ceil メソッドを使います。(詳しくは「切り上げ/切捨て/四捨五入を取得する(Math.ceil,Math.floor,Math.round)」を参照されてください)。

for (int i = 0 ; i < 6; i++){
  System.out.println((int)Math.ceil(Math.random() * 10));
}

1 から 10 までの間の数値をランダムで取得することができます。

4
1
8
1
5
9

同じように 1 から 5 までの整数をランダムで取得したい場合は、取得した乱数の値を 5 倍し切り上げてください。 1 から 100 までの整数をランダムで取得したい場合は、取得した乱数の値を 100 倍し切り上げてください。

サンプルコード

それでは簡単なサンプルプログラムを作って試してみます。テキストエディタで次のように記述したあと、 JSample8-1.java という名前で保存します。

class JSample8_1{
  public static void main(String[] args){
    for (int i = 0 ; i < 10; i++){
      System.out.println((int)Math.ceil(Math.random() * 5) + 5);
    }
  }
}

コンパイルを行います。

javac -encoding UTF-8 JSample8_1.java

その後で、次のように実行してください。

java JSample8_1

Math.randomメソッドの使い方(1)

5 から 10 までの範囲の乱数を 10 回取得しました。

-- --

Java で乱数を生成する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。