Java で指定された範囲内の乱数を生成する
-
Java の
ThreadLocalRandomクラスを使用して乱数を生成する -
Java の
Mathクラスを使用して乱数を生成する -
Java の
Randomクラスを使用して乱数を生成する -
Java の
Randomクラスを使用して乱数を生成する -
Java の
RandomクラスとIntStreamを使用して乱数を生成する -
Java で
nextFloatメソッドを使用して乱数を生成する -
Java の
RandomDataクラスを使用して乱数を生成する -
Java で
SecureRandomクラスを使用して乱数を生成する -
Java の
RandomUtilsクラスを使用して乱数を生成する
このチュートリアルでは、Java で指定された範囲内の乱数を生成する方法を紹介します。
Java で乱数を生成する方法はいくつかあります。たとえば、ThreadLocalRandom クラスの nextInt() メソッド、Math クラスの random() メソッド、nextInt() メソッドです。Random クラス、Random クラスの ints() メソッド、Random クラスおよび RandomUtil クラスの nextFloat() メソッドなど。
Java の ThreadLocalRandom クラスを使用して乱数を生成する
Java 並行パッケージは、nextInt() メソッドを持つクラス ThreadLocalRandom を提供します。このメソッドは、指定された範囲内でランダムな整数を生成できます。以下の例を参照してください。
import java.util.concurrent.ThreadLocalRandom;
public class SimpleTesting {
public static void main(String[] args) {
int min_val = 10;
int max_val = 100;
ThreadLocalRandom tlr = ThreadLocalRandom.current();
int randomNum = tlr.nextInt(min_val, max_val + 1);
System.out.println("Random Number: " + randomNum);
}
}
出力:
Value in double: 12.9
Value in int: 12
Java の Math クラスを使用して乱数を生成する
Java Math クラスを使用して、指定された範囲内の乱数を生成できます。ここでは、Math クラスの random() メソッドを使用して乱数を取得します。以下の例を参照してください。
public class SimpleTesting {
public static void main(String[] args) {
int min_val = 10;
int max_val = 100;
double randomNum = Math.random() * (max_val - min_val);
System.out.println("Random Number: " + randomNum);
}
}
出力:
Id: 1212
Name: Samre
Java の Random クラスを使用して乱数を生成する
Java の Random クラスは、整数値を返す nextInt() メソッドを使用して、指定された範囲内のランダム整数を生成できます。以下の例を参照してください。
import java.util.Random;
public class SimpleTesting {
public static void main(String[] args) {
int min_val = 10;
int max_val = 100;
Random ran = new Random();
int x = ran.nextInt(max_val) + min_val;
System.out.println("Random Number: " + x);
}
}
出力:
Id: 1212
Name: Samre
Java の Random クラスを使用して乱数を生成する
これは、指定された範囲内のランダムな整数を取得するための別のソリューションです。ここでは、さまざまなパラメータを使用して、Random クラスの nextInt() メソッドを使用します。以下の例を参照してください。
import java.util.Random;
public class SimpleTesting {
public static void main(String[] args) {
int min_val = 10;
int max_val = 100;
Random rand = new Random();
int randomNum = min_val + rand.nextInt((max_val - min_val) + 1);
System.out.println("Random Number: " + randomNum);
}
}
出力:
Random Number: 75
Java の Random クラスと IntStream を使用して乱数を生成する
ここでは、乱数のストリームを返す Random クラスの ints() メソッドを使用します。forEach() メソッドを使用して、ints() メソッドによって生成されたすべてのランダムな整数を出力します。以下の例を参照してください。
import java.util.Random;
import java.util.stream.IntStream;
public class SimpleTesting {
public static void main(String[] args) {
int min_val = 10;
int max_val = 100;
Random rand = new Random();
IntStream stream = rand.ints(5, min_val, max_val);
stream.forEach(System.out::println);
}
}
出力:
94
35
90
74
47
Java で nextFloat メソッドを使用して乱数を生成する
Random クラスは、float 型の乱数を生成するためのメソッド nextFloat() を提供します。浮動小数点型の乱数を取得する場合は、このメソッドが役立ちます。以下の例を参照してください。
import java.util.Random;
public class SimpleTesting {
public static void main(String[] args) {
int min_val = 10;
int max_val = 100;
Random rand = new Random();
float rand_val = rand.nextFloat() * (max_val - min_val);
System.out.println(rand_val);
}
}
出力:
71.88764
Java の RandomData クラスを使用して乱数を生成する
Apache Commons ライブラリを使用している場合は、RandomData クラスを使用してください。このクラスは、整数値を返すメソッド nextInt() を提供します。このメソッドを使用して、指定された範囲内のランダムな整数を生成できます。以下の例を参照してください。
import org.apache.commons.math.random.RandomData;
import org.apache.commons.math.random.RandomDataImpl;
public class SimpleTesting {
public static void main(String[] args) {
int min_val = 10;
int max_val = 100;
RandomData randomData randomData = new RandomDataImpl();
int number = randomData.nextInt(min_val, max_val);
System.out.println(number);
}
}
出力:
72
Java で SecureRandom クラスを使用して乱数を生成する
SecureRandom クラスは、安全な乱数を作成するために使用される Java の security パッケージに属しています。ここでは、Date クラスを使用してシードを生成し、次に nextInt() メソッドを使用してランダムな整数を生成します。以下の例を参照してください。
import java.security.SecureRandom;
import java.util.Date;
public class SimpleTesting {
public static void main(String[] args) {
int min_val = 10;
int max_val = 100;
SecureRandom rand = new SecureRandom();
rand.setSeed(new Date().getTime());
int randomNum = rand.nextInt((max_val - min_val) + 1) + min_val;
System.out.println(randomNum);
}
}
出力:
65
Java の RandomUtils クラスを使用して乱数を生成する
Apache Commons ライブラリの RandomUtil クラスを使用して、ランダムな整数を生成できます。このクラスの nextInt() メソッドは整数クラスを返します。以下の例を参照してください。
import org.apache.commons.lang3.RandomUtils;
public class SimpleTesting {
public static void main(String[] args) {
int min_val = 10;
int max_val = 100;
RandomUtils random = new RandomUtils();
int randomNum = random.nextInt(min_val, max_val);
System.out.println(randomNum);
}
}
出力:
66
関連記事 - Java Math
- Java で配列の中央値を計算する
- Java で与えられた数の約数を見つける
- Javaの確率
- Java で数式を評価する
- Java でユークリッド距離を計算する
- Java で 2 点間の距離を計算する