【はじめてのJava】乱数【いろいろなクラス編】
はじめてのJava
このシリーズでは、初めてJavaやプログラミングを勉強する方向けに、Javaによるプログラミングの基礎を説明していきます。
目標レベルは、Javaの資格試験の一つである「Oracle Certified Java Programmer, Silver」(通称Java Silver)に合格できる程度の知識の習得です。
はじめてJavaやプログラムに触れる方にもできるだけわかりやすい解説を心がけていきます。
目次
Randomクラス
今記事ではRandomクラスについて解説していきます。
Randomクラスはjava.utilパッケージに定義されているクラスで、乱数を生成するために使用されるクラスです。乱数を処理に組み込むことでプログラムを実行する度に異なる実行結果を得ることが可能になります。
Randomクラスをインスタンス化してメソッドを呼び出すことで乱数を生成することが可能となります。
nextInt()メソッド
よく使うRandomクラスのメソッドとして、nextInt()メソッドがあります。
int nextInt(int bound)
と定義されており、0から引数に渡した整数の間のいずれかの整数値を戻り値として返します。
このとき、引数として渡した整数は返す値の範囲に含まれないので注意が必要です。
nextInt()メソッドを使用することで実行する度に異なる結果を返すプログラムを作成することが可能となります。
早速Randomクラスを使ったサンプルコードを見てみましょう。
以下のコードは乱数を使ってサイコロを振った結果を出力するプログラムです。
import java.util.Random; public class Sample { public static void main(String[] args) { Random r = new Random(); //r.nextInt(6)の返す値の範囲は0~5なので+1して1~6に調整 int dice = r.nextInt(6) + 1; System.out.println("出目は" + dice + "です。"); } }
1回目実行結果
出目は1です。
2回目実行結果
出目は6です。
3回目実行結果
出目は4です。
という風に、実行する度に異なる実行結果が出力されます。
r.nextInt(6)と記述することで0~5の6つの整数からいずれかの値を取得することが出来ます。よって、r.nextInt(6)+1とすることで1~6の6つの整数からいずれかの値を取得することが出来ます。
「実行時に1~6のいずれかの整数を返す=サイコロを振った結果」とみなして、サンプルコードの処理に組み込んでいます。
ポイント
Randomクラスを使うことで実行する度に異なる結果を返すプログラムを作成することが可能となる。