2013-03-16 62 views
0

說我有3個輸出:如何隨機化輸出

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

我將如何使它所以只打印輸出中的一個,每一次印刷的一個是隨機的?

+1

看看這些網站,看看如何生成隨機數字:http://www.cs.geneseo.edu/~baldwin/reference/random.html ht tp://java.about.com/od/javautil/a/randomnumbers.htm http://docs.oracle.com/javase/6/docs/api/java/util/Random.html – Kevin 2013-03-16 20:50:14

回答

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 
+0

我還沒有看到之前產生一個隨機數的方法,而且我認爲這是錯誤的。我做了一些研究,現在它非常有意義...謝謝你教我新的東西! – Logan 2013-03-17 10:07:55

2

將字符串打印在String數組中,然後生成最大爲該數組大小的隨機數。在生成的索引處打印String

+0

@ String.userName Mike塞繆爾在他的回答中已經表明了這一點。 – 2013-03-16 20:49:45

2

您可以使用java.util.Random類生成隨機int,然後只需使用簡單的if語句來打印相應的輸出。

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

nextInt返回一個僞隨機數0和它的參數之間均勻分佈 - 1

由於Random是僞隨機的,如果你需要的輸出,即使有人是不可猜測誰注意到許多您的隨機選擇,請改爲使用SecureRandom

1

最簡單的做法是創建一個隨機整數並使用switch語句和case來選擇每個輸出。

1

這是一個簡單的實現:

String[] str = { "Output1", "Output2", "Output3" }; 
Random r = new Random(); 
System.out.println(str[r.nextInt(3)]);