-4

假设我有 10 个名字的集合。单击按钮时,程序应从该集合中生成一个随机名称。它是如何实现的?

4

3 回答 3

4

假设您有一个字符串集合(列表):

List<String> list;

然后得到一个随机的:

Collections.shuffle(list);
String random = list.get(0);

实际上,您可以使用洗牌列表中的任何元素,但第一个 ( .get(0)) 似乎是最简单的。

于 2013-08-25T15:26:37.413 回答
1

你可以试试像

list.get((int) (Math.random() * list.size()))

如果您没有List,但是另一种不支持索引的集合,您仍然可以使用类似的东西:

new ArrayList<>(col).get((int) (Math.random() * col.size()))
于 2013-08-25T15:34:14.100 回答
0

假设我有 10 个名字的集合。

String[] names = new String[10];
// Make sure you init the array

单击按钮时,程序应从该集合中生成一个随机名称。

我假设通过从该集合中生成一个随机名称,您的意思是从该集合中选择一个随机名称。

private String onButtonClicked() {
return names[getRandomNumber(0, names.length - 1);];

}

private static int getRandomNumber(int begin, int end) {
  Random generator = new Random();
  return generator.nextInt(end - begin + 1) + begin;
}

我希望这会有所帮助。

于 2013-08-25T15:22:26.270 回答