假设我有 3 个输出:
System.out.println("output 1");
System.out.println("output 2");
System.out.println("output 3");
我将如何使它只打印一个输出,而每次打印的输出都是随机的?
// 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 语句和 case 来选择每个输出。
这是一个简单的实现:
String[] str = { "Output1", "Output2", "Output3" };
Random r = new Random();
System.out.println(str[r.nextInt(3)]);