Javaで指定範囲の乱数を生成する:Random.nextInt()
Java で正数の乱数を生成するときは、Random クラスの nextInt() を使います。ここでは、nextInt() の使い方について説明します。
Random.nextInt() の使い方
正の整数で指定範囲の乱数を生成する場合は、Random クラスの nextInt() を使います。
整数の乱数を生成する
nextInt() は 0 から引数に指定した値未満の整数を返します。
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 以外で始めたいときは、その値の分だけ加算することで実現できます。
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() の引数には負数を指定することができないので、乱数の最小値を減算することで、負数の範囲の乱数を取得することができます。
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 以外の値から乱数を取得したいときは、あらかじめ乱数の範囲の値を計算してから、引数に指定しなければなりません。