Java で 1 から 10 までの乱数を生成する方法

Rupam Yadav 2023年10月12日
  1. 1 から 10 までの乱数を生成するには random.nextInt() を使用する
  2. 1 から 10 までの乱数を生成するための Math.random() の例
  3. 1 から 10 までの乱数を生成するために ThreadLocalRandom.current.nextInt() を使用する
Java で 1 から 10 までの乱数を生成する方法

Java で 1 から 10 の間の乱数をランダムに生成する手順を見ていきます。1 から 10 の間の乱数を生成することができる 3つの Java パッケージやクラスを見て、どれを使用するのが最も適しているかを見ていきます。

1 から 10 までの乱数を生成するには random.nextInt() を使用する

java.util.Random は Java に付属しているパッケージであり、これを使って範囲を指定して乱数を生成することができます。ここでは、1 から 10 までの範囲を指定します。

このパッケージにはクラス Random があり、これを使用すると、int でも float でも、複数のタイプの数値を生成できます。理解を深めるには、例を確認してください。

import java.util.Random;

public class Main {
  public static void main(String[] args) {
    int min = 1;
    int max = 10;

    Random random = new Random();

    int value = random.nextInt(max + min) + min;
    System.out.println(value);
  }
}

出力:

	6

上記の手法が動作し、毎回乱数を生成していることを示すために、ループを使って終了するまで新しい乱数を生成することができます。大きな範囲の数値を持っていないので、乱数が繰り返される可能性があります。

import java.util.Random;

public class Main {
  public static void main(String[] args) {
    Random random = new Random();

    for (int i = 1; i <= 10; i++) {
      int value = random.nextInt((10 - 1) + 1) + 1;
      System.out.println(value);
    }
  }

出力:

10
7
2
9
2
7
6
4
9

1 から 10 までの乱数を生成するための Math.random() の例

目標を達成するのに役立つもう一つのクラスは、数値をランダム化するための複数の静的関数を持つ Math です。ここでは random() メソッドを使用することにします。これは float 型の乱数値を返します。このため、これを int にキャストしなければなりません。

public class Main {
  public static void main(String[] args) {
    int min = 1;
    int max = 10;
    for (int i = min; i <= max; i++) {
      int getRandomValue = (int) (Math.random() * (max - min)) + min;
      System.out.println(getRandomValue);
    }
  }

出力:

5
5
2
1
6
9
3
6
5
7

1 から 10 までの乱数を生成するために ThreadLocalRandom.current.nextInt() を使用する

1 から 10 までの乱数を取得する最後のメソッドは、JDK 7 でマルチスレッドプログラム用に導入された ThreadLocalRandom クラスを使用します。

現在のスレッドで乱数を生成したいので、クラスの current() メソッドを呼び出す必要があることがわかります。

import java.util.concurrent.ThreadLocalRandom;

public class Main {
  public static void main(String[] args) {
    int min = 1;
    int max = 10;

    for (int i = 1; i <= 10; i++) {
      int getRandomValue = ThreadLocalRandom.current().nextInt(min, max) + min;

      System.out.println(getRandomValue);
    }
  }
}

出力:

3
4
5
8
6
2
6
10
6
2
著者: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

関連記事 - Java Number