字符串数组中的随机元素[关闭]
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)];
以上是关于字符串数组中的随机元素[关闭]的主要内容,如果未能解决你的问题,请参考以下文章