2012-02-27 155 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