目次
Java の乱数生成関数
1. Math.random() メソッド
2. java.util.Random クラス
3. ThreadLocalRandom クラス
整数の生成
浮動小数点数の生成
結論 – Java の乱数ジェネレーター
ホームページ Java &#&チュートリアル Java の乱数ジェネレーター

Java の乱数ジェネレーター

Aug 30, 2024 pm 04:27 PM
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);
}
}
ログイン後にコピー

出力:

Java の乱数ジェネレーター

上記の例では、乱数は 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 );
} }
ログイン後にコピー

出力:

Java の乱数ジェネレーター

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);
}
}
ログイン後にコピー

出力:

Java の乱数ジェネレーター

上記のプログラムでは、メソッド 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());
}
}
ログイン後にコピー

出力:

Java の乱数ジェネレーター

整数の生成

ランダムな整数は、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);
}
}
ログイン後にコピー

出力:

Java の乱数ジェネレーター

上記の例では、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 の乱数ジェネレーター

Java には、プログラムで使用できる関数が多数含まれています。これは、処理時間とコード行の削減に役立ちます。乱数生成は、これらの関数の一部を使用できるタスクの 1 つです。このドキュメントでは、これを実現するためのさまざまな方法について説明します。

以上がJava の乱数ジェネレーターの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Javaの平方根 Javaの平方根 Aug 30, 2024 pm 04:26 PM

Java の平方根のガイド。ここでは、Java で平方根がどのように機能するかを、例とそのコード実装をそれぞれ示して説明します。

Javaの完全数 Javaの完全数 Aug 30, 2024 pm 04:28 PM

Java における完全数のガイド。ここでは、定義、Java で完全数を確認する方法、コード実装の例について説明します。

Java の乱数ジェネレーター Java の乱数ジェネレーター Aug 30, 2024 pm 04:27 PM

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

ジャワのウェカ ジャワのウェカ Aug 30, 2024 pm 04:28 PM

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

Javaのスミス番号 Javaのスミス番号 Aug 30, 2024 pm 04:28 PM

Java のスミス番号のガイド。ここでは定義、Java でスミス番号を確認する方法について説明します。コード実装の例。

Java Springのインタビューの質問 Java Springのインタビューの質問 Aug 30, 2024 pm 04:29 PM

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

Java 8 Stream Foreachから休憩または戻ってきますか? Java 8 Stream Foreachから休憩または戻ってきますか? Feb 07, 2025 pm 12:09 PM

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

Java での日付までのタイムスタンプ Java での日付までのタイムスタンプ Aug 30, 2024 pm 04:28 PM

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

See all articles