Java の乱数ジェネレーター
乱数は、ボード ゲーム用のサイコロやギャンブル プログラムなどのアプリケーションの作成によく使用されます。通常、乱数の生成には時間がかかります。しかし、Java プログラミング言語では、これを 3 つの方法で実現できます。これらについては、以下の「Java の乱数生成関数」セクションで説明します。
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
Java の乱数生成関数
Java では、次の 3 つの方法を使用して乱数を生成できます。
- Math.random メソッド
- java.util.Random クラス
- ThreadLocalRandomクラス
1. Math.random() メソッド
Java Math クラスは、対数、平均、べき乗などの計算を行うためのメソッドを多数提供しています。random() は、0.0 から 1.0 の範囲内の正の double 値を返すメソッドの 1 つです。0.0 はは包括的であり、1.0 は排他的です。このメソッドは、パラメーターを使用しても使用しなくても使用できます。パラメータが指定されている場合、生成される乱数は指定されたパラメータの範囲内になります。
例 #1
コード:
public class RandomNumber { double num; //Declare a variable num //Method which generates a random number public double randnum() { num=Math.random(); return num; } // Main Method of a program public static void main(String[] args) { //Printing a random number System.out.println("Random Number generated inside main method: "+Math.random()); //Create an object of the class RandomNumber RandomNumber randomobj=new RandomNumber(); //Store the return value obtained from randnum method in a variable randomval double randomval=randomobj.randnum(); //Printing the random number stored in variable randomval System.out.println("Random Number generated inside randomnumber method: "+randomval); } }
出力:
上記の例では、乱数は Math.random() メソッドを使用して 2 つの方法で生成されます。メイン メソッド内で直接適用する方法と、オブジェクトを使用して Math.random() を含むメソッドを呼び出す方法です。 上の説明でも述べたように、0.0から1.0の範囲で2つの乱数が生成されていることがわかります。
パラメータの範囲内で乱数を生成するために使用される一般的な式を以下に示します。
Math.random()* (( maxvalue – minvalue ) +1 ) + minvalue
例 #2
ここで、maxvalue は範囲の上限、min value は範囲の下限です。たとえば、10 から 20 までの乱数を生成するには、最大値を 20、最小値を 10 に設定します。
コード:
public class RandomNumParameters { public double randomnum(double x,double y)//max value-y, min value-x { double z =(Math.random()*((y-x)+1)+x); //Formula for random number generation within a range return z; } public static void main(String[] args) { RandomNumParameters ran=new RandomNumParameters(); //Create instance for the class RandomNumParameters double num=ran.randomnum(3.0, 10.0); //Call the Method System.out.println("Random number generated within the range of 3 and 10: "+num ); } }
出力:
2. java.util.Random クラス
Java.util.random クラスは、float、long、integer、double、Boolean などのさまざまなデータ型の乱数を生成します。数値の範囲を引数として渡して、その範囲内で乱数を生成することもできます。 。このクラスを使用するには、java.util の Random クラスをインポートする必要があります (java.util.Random)。このクラスがインポートされたら、インスタンスを作成し、そのインスタンスを使用して next long()、nextInt() などのメソッドを呼び出します。
例
コード:
//Java program to generate Random numbers using Random class package Sample; import java.util.Random; //import Random Class public class RandomNum { public static void main(String[] args) { Random rand=new Random(); //Create instance of Random class double randomnum=rand.nextDouble(); //Assign the Random Double value in randomnum variable System.out.println("Random Double value: "+ randomnum); } }
出力:
上記のプログラムでは、メソッド nextDouble() を使用してランダムな double 値が生成されます。
3. ThreadLocalRandom クラス
ThreadLocalRandom クラスは、Java バージョン 1.7 で導入された特殊なタイプの Random クラスです。 ThreadLocalRandom.current().nextInt() は、乱数を生成するために使用される一般的なメソッドの 1 つです。通常、マルチスレッド アプリケーションで使用されます。
例
コード:
//Java Program to generate random numbers using ThreadLocalRandom Class import java.util.concurrent.ThreadLocalRandom; public class RandomNumThread { public static void main(String[] args) { //print a random double System.out.println("Random Double value using ThreadLocalRandom: "+ThreadLocalRandom.current().nextDouble()); } }
出力:
整数の生成
ランダムな整数は、ThreadLocalRandom クラスと Random クラスを使用して生成できます。どちらの場合も、メソッド nextInt() が同じ目的で使用されます。
例
コード:
//Java program to generate Random integer numbers using Random and THreadLocalRandom Class import java.util.Random; import java.util.concurrent.ThreadLocalRandom; public class RandomInteger { public static void main(String[] args) { Random rnd=new Random(); //Create instance of Random class int randomnum1=rnd.nextInt(); //Random Integer value using Random Class int randomnum2=rnd.nextInt(30); //Random Integer value within the range of 30 int randomnum3= ThreadLocalRandom.current().nextInt(); //Random Integer value using ThreadLocalRandom Class System.out.println("Random Integer value using Random Class: "+ randomnum1); System.out.println("Random Integer value within the range of 30: "+ randomnum2); System.out.println("Random Integer value using ThreadLocalRandom Class: "+ randomnum3); } }
出力:
上記の例では、nextInt() メソッドの 1 つが引数として 30 を持っている場合に、3 つのランダムな整数型の数値が生成されます。そこで、乱数を生成する際、上限として 30 が設定され、下限として 0 (デフォルトの下限) が設定されます。
浮動小数点数の生成
整数の生成と同様に、浮動小数点数はメソッド nextFloat() を使用して生成できます。このメソッドは、Random クラスと ThreadLocalRandom クラスの両方で使用できます:
例
コード:
//Java program to generate Random Float numbers using Random and THreadLocalRandom Class import java.util.Random; import java.util.concurrent.ThreadLocalRandom; public class RandomFloat { public static void main(String[] args) { Random rnd=new Random(); //Create instance of Random class float randomnum1=rnd.nextFloat(); //Random Float value using Random Class float randomnum2= ThreadLocalRandom.current().nextFloat(); //Random Float value using ThreadLocalRandom Class System.out.println("Random float value using Random Class: "+ randomnum1); System.out.println("Random float value using ThreadLocalRandom Class: "+ randomnum2); } }
出力:
結論 – Java の乱数ジェネレーター
Java には、プログラムで使用できる関数が多数含まれています。これは、処理時間とコード行の削減に役立ちます。乱数生成は、これらの関数の一部を使用できるタスクの 1 つです。このドキュメントでは、これを実現するためのさまざまな方法について説明します。
以上がJava の乱数ジェネレーターの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Java の乱数ジェネレーターのガイド。ここでは、Java の関数について例を挙げて説明し、2 つの異なるジェネレーターについて例を挙げて説明します。

Java の Weka へのガイド。ここでは、weka java の概要、使い方、プラットフォームの種類、利点について例を交えて説明します。

この記事では、Java Spring の面接で最もよく聞かれる質問とその詳細な回答をまとめました。面接を突破できるように。

Java 8は、Stream APIを導入し、データ収集を処理する強力で表現力のある方法を提供します。ただし、ストリームを使用する際の一般的な質問は次のとおりです。 従来のループにより、早期の中断やリターンが可能になりますが、StreamのForeachメソッドはこの方法を直接サポートしていません。この記事では、理由を説明し、ストリーム処理システムに早期終了を実装するための代替方法を調査します。 さらに読み取り:JavaストリームAPIの改善 ストリームを理解してください Foreachメソッドは、ストリーム内の各要素で1つの操作を実行する端末操作です。その設計意図はです

Java での日付までのタイムスタンプに関するガイド。ここでは、Java でタイムスタンプを日付に変換する方法とその概要について、例とともに説明します。
