0

3 つの出力があるとします。

System.out.println("output 1");
System.out.println("output 2");
System.out.println("output 3");

出力の1つだけが印刷され、印刷されたものは毎回ランダムになるようにするにはどうすればよいですか?

4

6 に答える 6

5
// 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)]);

nextInt0 とその引数 - 1 の間で一様に分布された疑似乱数を返します。

Randomは疑似ランダムであるため、ランダムな選択の多くを観察する人でも出力を推測できないようにする必要がある場合は、代わりに使用してくださいSecureRandom

于 2013-03-16T20:48:21.250 に答える
3

これは 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
于 2013-03-16T20:51:08.977 に答える
2

出力する文字列をString配列に入れて、この配列のサイズまでの乱数を生成します。String生成されたインデックスで を出力します。

于 2013-03-16T20:47:26.830 に答える
2

クラスを使用しjava.util.Randomて乱数を生成しint、単純なifステートメントを使用して対応する出力を出力できます。

于 2013-03-16T20:47:32.303 に答える
1

これを行うための最も概念的に単純な方法は、おそらくランダムな整数を作成し、switch ステートメントとケースを使用して各出力を選択することです。

于 2013-03-16T20:48:25.820 に答える
1

これは簡単な実装です:

String[] str = { "Output1", "Output2", "Output3" };
Random r = new Random();
System.out.println(str[r.nextInt(3)]);
于 2013-03-16T20:51:20.237 に答える