重複の可能性:
Java:0 <= x <nの範囲のランダムな長い数値
ある間隔でランダムなlong値を生成したいのですが、RandomクラスnextLong()はnextInt()のような引数を受け入れないようです。ここで何ができますか?
範囲ベースの長い値が必要な場合は、以下を実行します。
long LOWER_RANGE = 0; //assign lower range value
long UPPER_RANGE = 1000000; //assign upper range value
Random random = new Random();
long randomValue = LOWER_RANGE +
(long)(random.nextDouble()*(UPPER_RANGE - LOWER_RANGE));
NextIntを使用して、longのより高いintとより低いintを生成できます。独自のnextLongメソッドを使用してRandomクラスを拡張することも可能です(ただし、より本格的なプログラミングでは、合成の方が安全な選択です)。
NextInt(int n)のJavadocを見てください。 nextLongメソッドは、同じアルゴリズムを使用して実装できます。それを正しくすることは少しトリッキーになるかもしれません。ペンと紙で数学をする準備をします。楽しみのためにコーディングするだけではない場合は、実績のあるライブラリを使用するのが賢明です。