2012-02-27 154 views
0

比方說,我有以下設置:選擇隨機Java變量?這可能

private String one = "abc"; 
private String two = "def"; 
private String three = "ghi"; 

我想寫一個返回一個隨機變量,則無論多少我都在宣告一個方法班上的第一名。是否有捷徑可尋?

+0

看看反射 – 2012-02-27 18:23:34

回答

1

這個簡單的方法呢?或者如果您的元素過多,請使用Collection

public String getRandomString(){ 
     Random r = new Random(); 

     int i = r.nextInt()%3; 

     switch (i) { 
      case 0: 
       return one; 
      case 1: 
       return two; 
      case 2: 
       return three; 
      default: 
       break; 
     } 

    } 
+0

我喜歡這個最棒的。 – jamesfzhang 2012-02-27 18:42:23

0

你可以把它們放到一個列表中,通過訪問一個帶有隨機數的列表元素來選擇一個隨機列表元素(當然,你必須檢查隨機數是否在列表索引的範圍內)。

如果你需要實際的示例代碼,在此;-)

您需要有趣的功能註釋math.random()

2

兩個選項:

  1. (更復雜)使用反射來獲取類中的變量,並選擇一個randomaly。
  2. (更簡單)將它們放入數組中,並選擇隨機索引。
+1

-1反射,一爲使用的集合。 – 2012-02-27 18:24:46

0

最簡單和最方便的方法是使用數組而不是變量,然後得到一個隨機整數,然後使用這個數組的索引。

0

您可以將它們全部放入列表中,然後從零和列表大小之間選取一個隨機數,然後從列表中選取該元素。

0

將變量放入數組或列表中,並使用隨機數生成器來選擇該集合中的隨機元素。

+0

wow,5個回答在2秒內 – 2012-02-27 18:24:08