从数组中选择一个随机字符串[重复]
Posted
技术标签:
【中文标题】从数组中选择一个随机字符串[重复]【英文标题】:Pick a random string from an array [duplicate] 【发布时间】:2019-11-13 18:19:05 【问题描述】:所以我现在脑子里放了个屁,不知道如何完成这部分代码:
String[] diceNumbers = "1", "2", "3", "4", "5", "6";
String pickedNumber = (diceNumbers[new Random()]);
我在过去的另一个 StackedOverflow 上看到了这个,但我再也找不到了。
我希望将其存储为字符串变量,以便我可以将其添加到另一行代码中,因为我在 Minecraft 插件中使用它
Bukkit.broadcastMessage(p.getName() + "has rolled a" + pickedNumber);
这是我想做的事
【问题讨论】:
你到底想得到什么? 随机数必须在0到数组长度-1的范围内;现在你可以搜索了。 diceNumber.length 部分diceNumbers.length
?
@ScaryWombat 是的。这就是我一直在做的,所以它会在数组长度内获得一个随机数编辑:Zheka 刚刚回答了它:) 感谢您的帮助
【参考方案1】:
使用ThreadLocalRandom:
String pickedNumber = diceNumbers[ThreadLocalRandom.current().nextInt(diceNumbers.length)];
【讨论】:
很高兴解释为什么这是一个解决方案。 这只是回答了我的问题。我一直在使用String pickedNumber = (diceNumbers[new Random().nextInt(diceNumbers.length)]);
@secon19665 这在语义上是相同的,但ThreadLocalRandom
通常比每次创建Random
实例都要快
@ZhekaKozlov 我只在我正在制作的插件中使用它一次,所以它对我来说并不重要。我不明白为什么人们会否决您的答案,因为它回答了我的问题哈哈。我会接受你的回答!以上是关于从数组中选择一个随机字符串[重复]的主要内容,如果未能解决你的问题,请参考以下文章