【Java】Randomクラスで乱数を生成する方法【数値・真理値】

目次
JavaのRandomクラス
で乱数を生成する方法を紹介します。Randomクラス
で数値(整数・小数)と真理値について乱数を生成してみます。
Randomクラスのインスタンス生成
Randomクラス
は乱数を生成するためのクラスです。
Randomクラスのインスタンス生成
1Random random = new Random();
2Random random = new Random(数値);
3
4// Random random = new Random(10); と同じ
5Random random = new Random();
6random.setSeed(10);
コンストラクタの引数に数値を指定することで、その数値をseedとして乱数を生成することができます。これはsetSeedメソッド
でseedを指定した場合と同じ意味を持ちます。
int型の乱数を生成する
int型
の乱数を生成したい時にはnextInt()メソッド
が便利です。
nextIntメソッドの書式例
1Random random = new Random();
2random.nextInt(整数); // 0から"整数-1"以下の範囲で乱数を生成する
3random.nextInt(); // int型の範囲で乱数を生成する
0も範囲に入るので注意しましょう。0を入れたくない時は、戻り値を+1することで1以上の数値を生成できます。また、数字を入れなかった場合はint型
が取り得る範囲での乱数を取得します。
RandomTest1.java
1import java.util.Random;
2
3public class RandomTest1 {
4
5 public static void main(String[] args) {
6
7 Random random = new Random();
8
9 // 0から9の範囲で整数が生成される
10 int num = random.nextInt(10);
11 System.out.println("0から9の範囲:" + num);
12
13 // 1から100の範囲で整数が生成される
14 num = random.nextInt(100) + 1;
15 System.out.println("1から100の範囲:" + num);
16
17 // int型が取り得る範囲での乱数を取得
18 num = random.nextInt();
19 System.out.println("int型の範囲:" + num);
20 }
21}
出力結果(一例)
10から9の範囲:0
21から100の範囲:38
3int型の範囲:-1021826723
整数の乱数が生成されました。
double型の乱数を生成する
double型
の乱数を生成したい時はnextDoubleメソッド
が便利です。
nextDoubleメソッドの書式例
1Random random = new Random();
2random.nextDouble(); // 0から1.0未満の範囲で乱数を生成する
3
4Math.random(); // 同じく、0から1.0未満の範囲で乱数を生成する
また、Mathクラス
のrandomメソッド
も同じ機能を持ちます。
RandomTest2.java
1import java.util.Random;
2
3public class RandomTest2 {
4
5 public static void main(String[] args) {
6
7 Random random = new Random();
8
9 // 0から1.0未満の範囲で乱数を生成される
10 double num = random.nextDouble();
11 System.out.println("0から1.0未満の範囲(Randomクラス):" + num);
12
13 // Mathクラスのrandomメソッドの場合
14 num = Math.random();
15 System.out.println("0から1.0未満の範囲(Mathクラス):" + num);
16 }
17}
出力結果(一例)
10から1.0未満の範囲(Randomクラス):0.2127723545518896
20から1.0未満の範囲(Mathクラス):0.3652517356882634
小数の乱数が生成されました。
boolean型の乱数を生成する
boolean型
の乱数を生成したい時はnextBoolean()メソッド
が便利です。
nextBooleanメソッドの書式例
1Random random = new Random();
2random.nextBoolean(); // trueかfalseを生成する
RandomTest3.java
1import java.util.Random;
2
3public class RandomTest3 {
4 public static void main(String[] args) {
5
6 Random random = new Random();
7
8 // trueまたはfalseを生成する
9 boolean b = random.nextBoolean();
10 System.out.println("boolean型の乱数:" + b);
11 }
12}
出力結果(一例)
1boolean型の乱数:true
真偽値の乱数が生成されました。
int型
・double型
・boolean型
の3種類の乱数の生成方法について紹介しました。以上で記事を終わりにします。