乱数の生成は一部のコードで非常に一般的に使用されており、これも習得する必要があります。 Java で乱数を生成するには主に 3 つの方法があります:
最初の方法: new Random()
2 つ目の方法: Math.random()
3 番目のタイプ: currentTimeMillis()
最初のタイプでは、生成するために java.util.Random
クラスを使用する必要があります。乱数ジェネレーターも最もよく使用されるもので、Random
() と Random
(long seed) という 2 つのコンストラクターがあります。
最初のものは現在の時刻をデフォルトのシードとして使用し、2 つ目は指定されたシード値を使用します。生成後、さまざまなステートメントを使用して、さまざまなタイプの数値が生成されます。
シードは乱数を生成するために使用される最初の値です。メカニズムは、関数を使用してこのシードの値を乱数空間内の特定の点に変換することであり、生成される乱数は均等になります。宇宙に分布しています。今後生成される乱数は、前の乱数に関連しています。コードを例に挙げます。
public static void main(String[] args) { Random r = new Random(1); for(int i=0 ; i<5 ; i++) { int ran1 = r.nextInt(100); System.out.println(ran1); } }
私のコンパイラで生成された 5 つの数値はすべて 85,88,47,13,54 です。Random r = new Random() を使用すると、生成される乱数は異なります。これが決定されます。結果種の。
2 番目のメソッドで返される値は [0.0,1.0) の double 値ですが、double 型の数値は精度が高いため、ある程度乱数とみなして実行することができます。 (int) 型変換を使用して整数の乱数を取得できます。コードは次のとおりです。
public static void main(String[] args) { int max=100,min=1; int ran2 = (int) (Math.random()*(max-min)+min); System.out.println(ran2); }
3 番目の方法については、一般的には使用されませんが、これもアイデアです。このメソッドは、1970 年 1 月 1 日の 0:00:00 (これは UNIX システムに関連します) から現在までの長いミリ秒数を返し、モジュロをとった後、必要な範囲内の乱数を取得できます。
public static void main(String[] args) { int max=100,min=1; long randomNum = System.currentTimeMillis(); int ran3 = (int) (randomNum%(max-min)+min); System.out.println(ran3); }
推奨チュートリアル: "java チュートリアル"
以上がJavaで乱数を生成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。