【发布时间】:2012-02-27 18:21:17
【问题描述】:
假设我有以下设置:
private String one = "abc";
private String two = "def";
private String three = "ghi";
等等
我想编写一个返回随机变量的方法,这是我在类顶部声明的众多变量之一。有没有简单的方法可以做到这一点?
【问题讨论】:
假设我有以下设置:
private String one = "abc";
private String two = "def";
private String three = "ghi";
等等
我想编写一个返回随机变量的方法,这是我在类顶部声明的众多变量之一。有没有简单的方法可以做到这一点?
【问题讨论】:
两种选择:
【讨论】:
这个简单的方法怎么样?或者,如果元素太多,请使用 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;
}
}
【讨论】:
您可以将它们放入一个列表并通过访问具有随机数的列表元素来选择一个随机列表元素(您当然必须检查随机数是否在列表索引的范围内)。
如果您需要实际的示例代码,请对此发表评论;-)
你需要的有趣的函数是math.random()
【讨论】:
最简单和最方便的方法是使用数组而不是变量,然后获取一个随机整数,然后使用该数组的索引。
【讨论】:
您可以将它们全部放在一个列表中,然后在零和列表大小之间选择一个随机数,然后从列表中选择该元素。
【讨论】:
将变量放入数组或列表中,并使用随机数生成器在该集合中选择一个随机元素。
【讨论】:
我认为接受的解决方案可能会返回负值
Math.Abs()
r.nextInt(3)
【讨论】: