今回はJavaで乱数を生成する方法をRandomクラスを使って紹介します。
Randomクラスで数字(整数・小数)と真理値について乱数を生成してみます。
Randomクラスの使い方
Randomクラスを使うにはインスタンス宣言でインスタンス化する必要があります。
//Randomクラスを生成する Random rand = new Random();
整数の乱数を生成する
整数の乱数を生成したい時にはRandomクラスのnextInt()メソッドが便利です。以下の様に記述します。
//nextIntメソッドの書式例 rand.nextInt(数字); //0から"数字-1"以下の範囲で乱数を生成する
0も範囲に入るので注意しましょう。0を入れたくない時は「+1」を付け加えることで1~の数字を生成できます。
また、数字を入れなかった場合はint型が取り得る範囲での乱数を取得します。
サンプルコードと出力結果
サンプルコードを以下に示します。
import java.util.Random; public class RandomTest1 { public static void main(String[] args) { //Randomクラスを生成する Random rand = new Random(); // 0 から 9の範囲で整数が生成される int num = rand.nextInt(10); System.out.println(num); // 1 から 100の範囲で整数が生成される num = rand.nextInt(100) + 1; System.out.println(num); // int型が取り得る範囲での乱数を取得 System.out.println(rand.nextInt()); } }
サンプルコードの出力結果を以下に示します。ランダム性があるので結果は一例です。
8 // 0 から 9の範囲 45 // 1 から 100の範囲 -485675330 // int型が取り得る範囲
小数の乱数を生成する
小数の乱数を生成したい時にはRandomクラスのnextDoubleメソッドが便利です。以下の様に記述します。
//nextDoubleメソッドの書式例 rand.nextDouble(); //0から1.0未満の範囲で乱数を生成する
サンプルコードと出力結果
サンプルコードを以下に示します。
import java.util.Random; public class RandomTest2 { public static void main(String[] args) { // Randomクラスの変数randを宣言する Random rand = new Random(); // 0から1.0未満の範囲で乱数を生成される double num=rand.nextDouble(); System.out.println(num); } }
サンプルコードの出力結果を以下に示します。ランダム性があるので結果は一例です。
0.7140461253585765 //0から1.0未満の範囲
真偽値(true,false)の乱数を生成する
真偽値の乱数を生成tしたい時はRandomクラスのnextBoolean()メソッドが便利です。以下の様に記述します。
//nextBooleanメソッドの書式例 rand.nextBoolean(); //trueかfalseを生成する
サンプルコードと出力結果
サンプルコードを以下に示します。
import java.util.Random; public class RandomTest1 { public static void main(String[] args) { //Randomクラスの変数randを宣言する Random rand = new Random(); //trueまたはfalseを生成する boolean b = rand.nextBoolean(); System.out.println(b); } }
サンプルコードの出力結果を以下に示します。ランダム性があるので結果は一例です。
true //trueまたはfalse
まとめ
今回やったことのまとめです。3種類の乱数を生成する方法を紹介しました。
ポイント
- 乱数を生成したい時にはRandomクラスが便利
- 生成したい乱数の型によってメソッドを使い分けることが必要
以上がRandomクラスの紹介になります。