Java 言語で擬似乱数ジェネレーターを作成するには、いくつかのオプションがあります。これらのオプションの 1 つは、 java.util.RandomクラスとnextInt()メソッドの使用です。この記事では、Random nextInt()メソッドについて説明し、その使用例をいくつか示します。
java.util.Random クラスについて簡単に説明します。
前述したように、 java.util.Randomクラスは擬似乱数ジェネレータです。クラスは 2 つのコンストラクターで表されます-
Random() — 一意のシードを使用して数値生成器を作成します
-
ランダム(ロングシード) — シードを手動で指定できます。
ランダムな nextInt() メソッド
2 つのオプションがあります。java.util.Random.nextInt()メソッド-
int nextInt(int n) — 0 から n の範囲の int 型の次のランダムな値を返します。n が正でない場合、メソッドはIllegalArgumentExceptionをスローします。
-
int nextInt() — 次のランダムな int 値を返します
ランダムな nextInt() メソッドのコードの例
コード例を使用して、java.util.Random.nextInt()メソッドの両方のバリアントを試してみましょう。次に、引数なしのnextInt()メソッドの例を示します。
import java.util.*;
public class RandomTest {
public static void main(String[] args)
{
//creating a Random Object ran
Random ran = new Random();
//generating a number using nextInt() method
int randomNumber = ran.nextInt();
System.out.println("Randomly generated number = " + randomNumber);
}
}
出力は次のようになります...確かなことはわかりません。コードを試してみると、ランダムに生成された整数が得られます。 引数を指定してRandom.nextInt()を試してみましょう。ただし、今回の問題はさらに興味深いものになります。おそらくオンラインカジノの広告を何度も見たことがあると思いますが、文字通りインターネットに溢れていました。したがって、このようなゲームの数値ジェネレーターのシーケンスは通常、Randomなどのメソッドとクラスを使用して作成されます。それぞれの面に 1 から 6 までの数字が書かれた 2 つのサイコロを振るプログラムを作成してみましょう。
import java.util.*;
public class RandomTest2 {
public static void main(String args[])
{
// create Random Object
Random random = new Random();
// Printing the 6 random numbers between 1 and 6 using //random.nextInt()
for (int i = 1; i < 7; i++) {
System.out.println("throwing a dice for the " + i + " time");
System.out.println ("Random number between 1 and 6 is = " + (1 + random.nextInt(6)));
}
}
}
このプログラムでは、プレーヤーはサイコロを 6 回連続で「転がします」。Random.nextInt() は次の番号を決定します。結果の 1 つを次に示します。
1 回目のサイコロを振る 1 から 6 までの乱数 = 5 2 回目のサイコロを振る 1 から 6 までの乱数 = 6 3 回目のサイコロを振る 1 から 6 までの乱数 = 6 4回目のサイコロを振る 1から6までの乱数=5 5回目のサイコロを振る 1から6までの乱数=2 6回目のサイコロを振る 1から6までの乱数=4
同様の方法で、2 人のプレーヤー用のサイコロ ゲームを実装できます。たとえば宝くじやルーレットなどもあります。プロシージャルワールド生成を使用したゲームをプレイしたことがある場合は、それがどのように機能するかについての最初のアイデアを持っているでしょう。
GO TO FULL VERSION