3 つの出力があるとします。
System.out.println("output 1");
System.out.println("output 2");
System.out.println("output 3");
出力の1つだけが印刷され、印刷されたものは毎回ランダムになるようにするにはどうすればよいですか?
// Collect all the possible outputs.
String[] outputs = new String[] { "output 1", "output 2", "output 3" };
// Use the core library class java.util.Random to get a source of pseudo-randomness.
Random random = new Random();
// Pick one and print it.
System.out.println(outputs[random.nextInt(outputs.length)]);
nextInt
0 とその引数 - 1 の間で一様に分布された疑似乱数を返します。
Random
は疑似ランダムであるため、ランダムな選択の多くを観察する人でも出力を推測できないようにする必要がある場合は、代わりに使用してくださいSecureRandom
。
これは Math.random() で実現できます。
まず、0 から 3 の間の乱数を生成します。
int randomNum = (int)Math.random() * 3;
次に、if-else ステートメントを使用して、出力するステートメントを選択します。
if(randomNum == 0)
//print case 1
else if(randomNum == 1)
//print case 2
else //print case 3
出力する文字列をString
配列に入れて、この配列のサイズまでの乱数を生成します。String
生成されたインデックスで を出力します。
クラスを使用しjava.util.Random
て乱数を生成しint
、単純なif
ステートメントを使用して対応する出力を出力できます。
これを行うための最も概念的に単純な方法は、おそらくランダムな整数を作成し、switch ステートメントとケースを使用して各出力を選択することです。
これは簡単な実装です:
String[] str = { "Output1", "Output2", "Output3" };
Random r = new Random();
System.out.println(str[r.nextInt(3)]);