- SecureRandomを使用した乱数生成 SecureRandomクラスは、暗号学的に安全な乱数を生成するためのクラスです。以下のコードは、SecureRandomを使用して0から99の範囲のランダムな整数を生成する例です。
import java.security.SecureRandom;
public class RandomExample {
public static void main(String[] args) {
SecureRandom random = new SecureRandom();
int randomNumber = random.nextInt(100);
System.out.println("ランダムな整数: " + randomNumber);
}
}
- シード値を指定する方法 SecureRandomクラスのインスタンスを作成する際に、シード値を指定することもできます。シード値はランダム性の元となる値であり、同じシード値を使用すると同じ乱数の系列が生成されます。以下のコードは、シード値を指定してランダムな整数を生成する例です。
import java.security.SecureRandom;
public class RandomExample {
public static void main(String[] args) {
SecureRandom random = new SecureRandom();
random.setSeed(12345); // シード値を指定する
int randomNumber = random.nextInt(100);
System.out.println("ランダムな整数: " + randomNumber);
}
}
- 乱数生成の他の方法 SecureRandomクラスには、さまざまな乱数生成メソッドがあります。以下にいくつかの例を示します。
-
ランダムなバイト配列の生成:
byte[] randomBytes = new byte[10]; random.nextBytes(randomBytes);
-
ランダムなboolean値の生成:
boolean randomBoolean = random.nextBoolean();
-
ランダムなdouble値の生成:
double randomDouble = random.nextDouble();
なお、SecureRandomクラスはjava.securityパッケージに含まれているため、import文を追加する必要があります。
このように、Javaで本物のランダム性を実現するためにはSecureRandomクラスを使用することが推奨されています。必要に応じてシード値の指定や異なる乱数生成メソッドの利用も検討してください。