Javaで指定範囲の乱数を生成する:Random.nextInt()

Java で正数の乱数を生成するときは、Random クラスの nextInt() を使います。ここでは、nextInt() の使い方について説明します。

Random.nexInt() の使い方

正の整数で指定範囲の乱数を生成する場合は、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 以外の値から乱数を取得したいときは、あらかじめ乱数の範囲の値を計算してから、引数に指定しなければなりません。