ホームページ >Java >&#&チュートリアル >Javaで乱数を生成する3つの方法

Javaで乱数を生成する3つの方法

(*-*)浩
(*-*)浩転載
2019-09-18 15:44:242760ブラウズ

乱数の生成は一部のコードで非常に一般的に使用されており、これも習得する必要があります。 Java で乱数を生成するには主に 3 つの方法があります:

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 システムに関係します) から現在までの長いミリ秒の数値を返します。モジュロをとった後、必要な範囲内の乱数を取得できます。

rree

以上がJavaで乱数を生成する3つの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。