选择随机Java变量?这可能吗

时间:2012-02-27 18:21:18

标签: java variables random

假设我有以下设置:

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

我想编写一个返回随机变量的方法,这是我在类顶部声明的众多变量之一。有一个简单的方法吗?

7 个答案:

答案 0 :(得分:2)

两个选项:

  1. (更复杂)使用反射来获取类中的变量,并选择一个randomaly。
  2. (更简单)将它们放在一个数组中,然后选择随机索引。

答案 1 :(得分: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;
        }

    }

答案 2 :(得分:0)

您可以将它们放入列表并通过访问带有随机数的列表元素来选择随机列表元素(您当然必须检查随机数是否在列表索引的范围内)。

如果您需要实际的示例代码,请对此进行评论; - )

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

答案 3 :(得分:0)

最简单,最方便的方法是使用数组而不是变量,然后得到一个随机整数,然后使用这个数组的索引。

答案 4 :(得分:0)

您可以将它们全部放入列表中,然后在零和列表大小之间选择一个随机数,然后从列表中选择该元素。

答案 5 :(得分:0)

将变量放在数组或列表中,并使用随机数生成器选择该集合中的随机元素。

答案 6 :(得分:-1)

我认为接受的解决方案可能会返回负值

Java docs nextInt()

  • 因此您可能希望使用Math.Abs()
  • 或使用r.nextInt(3)

java docs nextInt(n)

Related Question