ホームページ >Java >&#&ベース >Javaで乱数を生成する方法

Javaで乱数を生成する方法

hzc
hzcオリジナル
2020-06-22 17:58:225406ブラウズ

Javaで乱数を生成する方法 乱数の生成は一部のコードで非常に一般的に使用されており、これも習得する必要があります。 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。