この記事では、 乱数 そして、JavaのString Generatorを使用して、プログラムによるデモンストレーションを行います。この記事では、次のポイントについて説明します。
- Java.util.Random
- Math.random()
- Java.util.concurrent.ThreadLocalRandomクラス
- Javaでランダムな文字列を生成する
- Math.random()の使用
- CharSetの使用
- 正規表現の使用
組み込みのメソッドとクラスを使用してJavaで乱数を生成する方法は3つあります。
- Java.util.Randomクラス
- Math.randomメソッド
- ThreadLocalRandomクラス
それでは、Javaの乱数と文字列ジェネレータに関する記事を始めましょう。
Java 。有用。 ランダム
まず、プログラムでこのクラスのインスタンスを作成してから、作成したインスタンスを使用してnextInt()、nextDouble()などのさまざまな組み込みメソッドを呼び出す必要があります。
このクラスを使用して、整数型、float、double、long、booleansの乱数を作成できます。
引数は、数値が生成される上限を定義するためのメソッドに渡すことができます。たとえば、nextInt(4)は、0から3(両方を含む)の範囲の数値を生成します。
例1:
//乱数生成を表示するJavaプログラム//java.util.Randomを使用importjava.util.Random public class Main {public static void main(String args []){// Randomクラスのインスタンスを作成Randomrand = new Random()// 0〜99の範囲のランダム整数を生成しますint int1 = rand.nextInt(100)int int2 = rand.nextInt(100)//ランダム整数を出力しますSystem.out.println( 'Random Integers:>' + int1)System.out.println( 'Random Integers:>' + int2)//ランダムdoubleの生成double dub1 = rand.nextDouble()double dub2 = rand.nextDouble()//ランダムdoubleの出力System.out.println( 'ランダムダブル:> '+ dub1)System.out.println('ランダムダブル:> '+ dub2)}}
出力:
例:
//乱数生成を表示するJavaプログラム//java.util.Randomを使用importjava.util.Random public class Main {public static void main(String args []){// Randomクラスのインスタンスを作成Randomrand = new Random()// 0〜9の範囲のランダム整数を生成しますint int1 = rand.nextInt(10)//ランダム整数を出力しますSystem.out.println( 'Random Integer:>' + int1)}}
出力:
数学 。 ランダム (( )
Mathという名前のクラスは、対数、べき乗の解法など、さまざまな数値演算を実行するためのさまざまなメソッドで構成されています。これらの演算の中には、0.0〜1.0の範囲のdouble型の乱数を生成するために使用されるrandom()があります。 。このメソッドは、0.0以上1.0以下のdouble値と正の符号を返します。 random()によって返される値は、マシンによってランダムに選択されます。
cのリンクリストプログラム
例1:
//乱数を生成するMath.random()の動作を示すJavaプログラムimportjava.util。* public class Main {public static void main(String args []){//データ型doubleのランダム値を生成するSystem.out.println( 'ランダム値:' + Math.random())}}
出力:
ランダム性を確認するには、プログラムをもう一度実行します。
//乱数を生成するMath.random()の動作を示すJavaプログラムimportjava.util。* public class Main {public static void main(String args []){//データ型doubleのランダム値を生成するSystem.out.println( '別のランダム値:' + Math.random())}}
出力:
Java.util.concurrent.ThreadLocalRandomクラス
このクラスは、データ型整数、倍精度浮動小数点数、ブール値などの乱数を生成するためにJava1.7で導入されました。
例1:
//乱数を生成するためのThreadLocalRandom //の動作を示すJavaプログラム。 import java.util.concurrent.ThreadLocalRandom public class Main {public static void main(String args []){// 0〜99の範囲のランダム整数を生成しますint int2 = ThreadLocalRandom.current()。nextInt()//ランダム整数を出力しますSystem.out.println( 'Random Integers:' + int2)//ランダムdoubleの生成double dub1 = ThreadLocalRandom.current()。nextDouble()double dub2 = ThreadLocalRandom.current()。nextDouble()//ランダムdoubleの出力System。 out.println( 'Random Doubles:' + dub1)System.out.println( 'Random Doubles:' + dub2)}}
出力:
例2:
// ThreadLocalRandomの動作を示すJavaプログラム//乱数を生成します。 import java.util.concurrent.ThreadLocalRandom public class Main {public static void main(String args []){//ランダムなブール値を生成するboolan bool1 = ThreadLocalRandom.current()。nextBoolean()boolean bool2 = ThreadLocalRandom.current()。nextBoolean ()//ランダムブール値を出力System.out.println( 'Random Booleans:' + bool1)System.out.println( 'Random Booleans:' + bool2)}}
出力:
Javaでの乱数と文字列ジェネレータに関するこの記事に進む
Javaでランダムな文字列を生成する
次の方法を使用して、ランダムな英数字の文字列を生成できます。
Javaでのisaとhasaの関係
数学を使う 。 ランダム (( )
以下は、概念をよりよく理解するための例です。
//ランダムなAlphaNumeric文字列を生成するJavaプログラム//Math.random()メソッドを使用public class Main {//長さnのランダムな文字列を生成する関数を定義するstaticString RequiredString(int n){//ランダムな文字を選択この文字列文字列からAlphaNumericString = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + '0123456789' + 'abcdefghijklmnopqrstuvxyz' // AlphaNumericStringのStringBufferサイズを作成StringBuilders = new StringBuilder(n)int y for(y = 0 y出力:
Javaでの乱数と文字列ジェネレータに関するこの記事に進む
CharSetの使用
ここでは別のパッケージ、つまりjava.nio.charsetパッケージを使用する必要があります。
以下は図解された例です。// JavaプログラムはランダムなAlphaNumeric文字列を生成します// CharSetを使用しますimportjava.util。* importjava.nio.charset。* class Main {static String RequiredString(int n){//長さ宣言byte [] array = new byte [256] new Random()。nextBytes(array)String randomString = new String(array、Charset.forName( 'UTF-8'))// StringBufferの作成StringBufferra = new StringBuffer()//最初の20個の英数字を追加するfor(int i = 0 i = 'a' && ch = 'A' && ch = '0' && ch 0)){ra.append(ch)n-}} //結果の文字列を返すreturnra.toString ()} public static void main(String [] args){//ランダムな英数字の文字列のサイズint n = 10 //英数字の文字列を取得して表示しますSystem.out.println(RequiredString(n))}}出力:
Javaでの乱数と文字列ジェネレータに関するこの記事に進む
正規表現の使用
実装は次の例のとおりです。
// JavaプログラムはランダムなAlphaNumeric文字列を生成します//通常の式メソッドを使用しますimportjava.util。* importjava.nio.charset。* class Main {static String getAlphaNumericString(int n){//長さ宣言byte [] array = new byte [256] new Random()。nextBytes(array)String randomString = new String(array、Charset.forName( 'UTF-8'))// StringBufferの作成StringBufferra = new StringBuffer()//すべての空間を削除char String AlphaNumericString = randomString .replaceAll( '[^ A-Za-z0-9]'、 '')//最初の20個の英数字を//生成されたランダム文字列から(int k = 0 k 0)の結果に追加します|| Character.isDigit(AlphaNumericString.charAt(k))&&(n> 0)){ra.append(AlphaNumericString.charAt(k))n-}} //結果の文字列を返すreturnra.toString()} public static void main(String [] args){//ランダムな英数字の文字列のサイズint n = 15 //英数字の文字列を取得して表示しますSystem.out.println(getAlphaNumericString(n))}}出力:
これで、この記事は終わりです。詳細を知りたい場合は、 信頼できるオンライン学習会社であるEdurekaによる。 EdurekaのJavaJ2EEおよびSOAトレーニングおよび認定コースは、Hibernate&SpringなどのさまざまなJavaフレームワークに加えて、コアJavaコンセプトと高度なJavaコンセプトの両方についてトレーニングするように設計されています。
質問がありますか?このブログのコメントセクションでそれについて言及してください。できるだけ早くご連絡いたします。