Java で正数の乱数を生成するときは、Random クラスの nextInt() を使います。ここでは、nextInt() の使い方について説明します。
Random.nextInt() の使い方
正の整数で指定範囲の乱数を生成する場合は、Random クラスの nextInt() を使います。
整数の乱数を生成する
nextInt() は 0 から引数に指定した値未満の整数を返します。
1 2 3 4 5 6 7 8 |
import java.util.Random; class Sample { public static void main(String args[]) { Random rand = new Random(); int num = rand.nextInt(10) + 100; System.out.println(num); } } |
上の例では、0 から 9 まで整数が取得され表示されます。実行結果は実行するたびに異なります。
もし乱数を 0 以外で始めたいときは、その値の分だけ加算することで実現できます。
1 2 3 4 5 6 7 8 |
import java.util.Random; class Sample { public static void main(String args[]) { Random rand = new Random(); int num = rand.nextInt(10) + 100; System.out.println(num); } } |
上の例では、100 から 109 までの値が取得できます。
負数の乱数を生成する
nextInt() の引数には負数を指定することができないので、乱数の最小値を減算することで、負数の範囲の乱数を取得することができます。
1 2 3 4 5 6 7 8 |
import java.util.Random; class Sample { public static void main(String args[]) { Random rand = new Random(); int num = rand.nextInt(200) - 100; System.out.println(num); } } |
上のプログラムでは、-100 から 99 までの乱数が生成されます。乱数の範囲は 200 あるので、nextInt() の引数に 200 を指定しています。0 以外の値から乱数を取得したいときは、あらかじめ乱数の範囲の値を計算してから、引数に指定しなければなりません。