乱数を生成する

広告

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

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

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。