Javaでは、java.util.randomクラスを使用して、乱数を生成することができます。ランダム()とランダム(長いシード)の2つのコンストラクターがあります。 Random()は、現在の時刻であるSystem.CurrentTimemillis()を発電機の種子として使用しますが、ランダム(長い種子)は指定された種子を発電機の種子として使用します。
乱数ジェネレーターがランダムオブジェクトである場合、オブジェクトで異なるメソッドを呼び出すことができます:nextint()、nextlong()、nextfloat()、nextdouble()など。さまざまな種類の乱数を取得します。 2つのランダムオブジェクトが同じシード(両方の両方、両方の100)を使用し、同じ関数を同じ順序で呼び出す場合、それらの戻り値はまったく同じです。
話しすぎるのは役に立たないので、次のように、最初に栗をあげましょう。
しかし、特定の範囲の番号が必要な場合はどうすればよいですか?たとえば、0〜99の間で乱数をランダムに生成したいと考えていますが、この時点でModulo Operator%を使用できます。
乱数ジェネレーターによって生成された乱数でModulus演算子%を使用する目的は、設定したオペランド値の範囲内で乱数の最大値を作成することです。次のコードを見て、0〜99の範囲への入力を制御します。 (フレンドリーなリマインダー:Math.Abs()が追加されていない場合、出力範囲は-99〜99になります。)
まず、math.abs()が追加されない状況を見てください。
次のように、追加の状況を見る: