您如何使计算机从阵列中选择随机元素?

时间:2019-06-23 17:47:27

标签: java arrays

我尝试查看有关此问题的其他类似主题,但没有一个解决了我的问题。我基本上已经制作了一个由动物名称组成的数组,我试图告诉计算机选择一个随机的动物名称,但是我不知道该怎么做。

我已经尝试使用math.random,但是它总是发送回一个随机索引值,该值只是一个数字。我不希望它发送随机数,而是发送随机字符串。

 String[] animalNames = {"Raven","Chameleon","Lion","Cheetah"};

因此,我想学习可使计算机随机选择动物名称的代码。我希望它输入的动物名称是元素,而不是索引,索引只是数字。

2 个答案:

答案 0 :(得分:0)

您应该在0array.length - 1之间生成一个伪随机整数,然后在数组中返回带有该索引的值。您可以为此使用Random.nextInt()

  

从该随机数生成器的序列中返回一个伪随机数,其int值在0(含)和指定值(不含)之间均匀分布。

这是一个完整的例子:

String[] animalNames = {"Raven","Chameleon","Lion","Cheetah"};
Random random = new Random();
int randomIndex = random.nextInt(animalNames.length);
String randomAnimalName = animalNames[randomIndex];
System.out.println(randomAnimalName);

答案 1 :(得分:0)

我的解决方案:

public String getRandomName (String [] animalNames){
Random rand = new Random(); 
int value = rand.nextInt(animalNames.length); // from 0 .. to animalNames.length - 1
return animalNames[value];
}