Java でランダムシードを設定する

Aryan Tyagi 2023年10月12日
  1. Java で setSeed() 関数を使用して乱数のシードを設定する
  2. Java で Random コンストラクターを使用して乱数のシードを設定する
Java でランダムシードを設定する

シードは、必要なランダム値のシーケンスを生成するために疑似乱数ジェネレーターに割り当てられた数値またはベクトルです。同じシードを渡すと、同じシーケンスが生成されます。通常、シードはシステム時間として割り当てられます。このようにして、毎回異なるシーケンスを生成します。

この記事では、Java でシードを使用して乱数を生成する方法について説明します。

Java で setSeed() 関数を使用して乱数のシードを設定する

Random クラスの setSeed() 関数は、単一の長いシードを使用して、乱数ジェネレーターのシードを設定します。Random オブジェクトで使用します。

例えば、

import java.util.Random;

public class JavaRandomSetSeedDemo {
  public static void main(String[] args) {
    Random randomobj = new Random();
    long seed = 100;
    randomobj.setSeed(seed);
    System.out.println("Random Integer value : " + randomobj.nextInt());
  }
}

出力:

Random Integer value : -1193959466

Java で Random コンストラクターを使用して乱数のシードを設定する

引数なしのコンストラクターを呼び出して、毎回異なるシードを取得することもできます。シードは、疑似乱数ジェネレーターの内部状態の開始値であり、nextInt() メソッドによって処理されます。

例えば、

import java.util.Random;

public class RadomSeeddemo {
  public static void main(String[] args) {
    Random randomobj1 = new Random(100);
    System.out.println("Random number using the Constructor");
    System.out.println(randomobj1.nextInt());
  }
}

出力:

Random number using the Constructor
-1193959466

関連記事 - Java Random