字符串数组中的随机元素[关闭]

Posted

技术标签:

【中文标题】字符串数组中的随机元素[关闭]【英文标题】:Random element from string array [closed] 【发布时间】:2012-10-31 16:30:39 【问题描述】:

我有一个字符串数组:

String[] fruits = "Apple","Mango","Peach","Banana","Orange","Grapes","Watermelon","Tomato";

我从中得到随机元素:

String random = (fruits[new Random().nextInt(fruits.length)]);

现在我想获取当我按下按钮以获得随机水果时苹果出现的数字,就像当我按下随机按钮时它给了我香蕉..并且还应该给我那个元素编号是 3

我得到了元素,但是在获取元素编号时遇到了问题,所以请帮帮我

【问题讨论】:

当你说元素编号时,你的意思是你的数组中水果的索引? 另见:How to randomly pick an element from an array 【参考方案1】:

只需将生成的索引存储在一个变量中,然后使用此变量访问数组:

int idx = new Random().nextInt(fruits.length);
String random = (fruits[idx]);

附:我通常不喜欢每次随机化生成新的Random 对象——我更喜欢在程序中使用单个Random——并重新使用它。如果我以后在程序中发现任何错误,它可以让我轻松重现有问题的序列。

根据这种方法,我将在某处有一些变量Random r,我将只使用:

int idx = r.nextInt(fruits.length)

不过,您的方法也可以,但如果您以后需要,您可能很难重现特定序列。

【讨论】:

使用泛型,它向下钻取到private static <T> T randomFrom(T... items) return items[new Random().nextInt(items.length)];

以上是关于字符串数组中的随机元素[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何从字符串 ArrayList 在字符串数组中的随机位置添加元素。在 Android Java 中

Javarscipt中数组或者字符串的随机排序方法

IDL 中 如何从一个数组中随机取出3个数?

用C语言如何将一个一维数组中的元素随机排序

随机选择一个数组 C# [关闭]

C#将具有随机空格的字符串拆分为字符串数组[关闭]