- Home ›
- Java入門 ›
- 数値処理(Mathクラス)
乱数を生成する
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
5 から 10 までの範囲の乱数を 10 回取得しました。
-- --
Java で乱数を生成する方法について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。