Java プログラムを作成するとき、テスト データやパスワードの生成など、さまざまな目的で乱数を生成する必要があることがよくあります。 Java には、乱数を生成する機能を実装する Random クラスが用意されています。この記事では、JavaのRandom関数を使って乱数を生成する方法を紹介します。
Random クラスを使用する前に、Random クラスをインポートする必要があります。これは、コードの先頭にある import ステートメントを使用してインポートできます。サンプル コードは次のとおりです。
import java.util.Random;
Random クラスを使用する前に、最初に Random オブジェクトを作成する必要があります。パラメーターなしのコンストラクターを使用して、ランダム シードがシステムの現在時刻である Random オブジェクトを作成することも、シードを指定して Random オブジェクトを作成することもできます。サンプル コードは次のとおりです。
Random random = new Random(); // 创建一个随机种子为系统当前时间的Random对象 long seed = 12345l; // 指定一个种子 Random random = new Random(seed); // 创建一个指定种子的Random对象
Random オブジェクトが作成されたら、そのメソッドを通じて乱数を生成できます。以下に、乱数を生成するいくつかの方法を示します。
nextInt() メソッドを使用して、ランダムな整数を生成できます。このメソッドのパラメータは、生成する乱数の範囲を指定できますが、パラメータが指定されていない場合は、ランダムな整数が生成されます。サンプル コードは次のとおりです。
int randomInt = random.nextInt(); // 生成一个随机的整数 int randomIntInRange = random.nextInt(100); // 生成一个0-99之间的整数
nextLong() メソッドを使用して、ランダムな長整数を生成できます。このメソッドにはパラメータがありません。サンプル コードは次のとおりです:
long randomLong = random.nextLong(); // 生成一个随机的长整数
nextFloat() メソッドを使用して、ランダムな浮動小数点数を生成できます。この浮動小数点数の範囲は次のとおりです。 [0、1)。サンプル コードは次のとおりです。
float randomFloat = random.nextFloat(); // 生成一个随机的浮点数
nextDouble() メソッドを使用して、ランダムな倍精度浮動小数点数を生成できます。この倍精度浮動小数点数の範囲は [0 , 1) です。サンプル コードは次のとおりです。
double randomDouble = random.nextDouble(); // 生成一个随机的双精度浮点数
nextBoolean() メソッドを使用して、ランダムなブール値を生成できます。このメソッドにはパラメータがありません。サンプル コードは次のとおりです。
boolean randomBoolean = random.nextBoolean(); // 生成一个随机的布尔值
指定した範囲内の乱数を生成する必要がある場合は、まず次のようにします。乱数を生成し、ニーズに合わせて処理します。指定した範囲内で乱数を生成するいくつかの方法を次に示します。
int randomIntInRange = random.nextInt(100); // 生成一个0-99之间的整数
int min = 10; int max = 20; int randomIntInRange = random.nextInt(max - min + 1) + min; // 生成一个10-20之间的整数
double min = 1.0; double max = 2.0; double randomDoubleInRange = min + (max - min) * random.nextDouble(); // 生成一个1.0-2.0之间的浮点数
以上がJavaのRandom関数を使用して乱数を生成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。