7.2. 乱数
乱数を使用する場合には、Math/StrictMathのrandomメソッドか、java.util.Randomクラスを用います。randomメソッドで済む場合も多いのですが、Randomクラスを使用する方が楽な場合も多々あります。ここではRandomクラスについて説明します。
Randomクラスは乱数ジェネレータです。引数で指定されたシードを元にジェネレータを作成し、メソッドを用いて生成した乱数を取り出します。ジェネレータの作成は以下のようにします。
long seed = 123456789; Random random = new Random(seed);
シードとして同じ値を使用すると、同じ乱数が生成されるので注意してください。通常はシードとして現在時刻(SystemクラスのgetCurrentTimeMillisメソッドの返り値)を使用します。引数を省略したコンストラクタを使用すると、自動的にシードとして現在時刻が使用されます。
乱数の取り出しは、取り出したい乱数の型やタイプによって呼び出すメソッドが異なります。boolean型で取り出したい場合には「nextBoolean」メソッド、int型で取り出したい場合には「nextInt」メソッドを使用します。平均0.0、標準偏差1.0で乱数を取り出したい場合には「nextGaussian」メソッドを使用します。以下は0以上、100未満の乱数を10個生成するプログラム例です。nextIntメソッドは、0以上、引数で指定した数未満のint型乱数を返します。「未満」である点に注意してください。
Random random = new Random(); int[] nums = new int[100]; for(int i = 0; i < nums.length; i++) { nums[i] = random.nextInt(100); }
(実習課題2)
コンピュータとのジャンケンを実現する、コンソールプログラムを作成しなさい。