从数组中选择一个随机字符串[重复]

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 我只在我正在制作的插件中使用它一次,所以它对我来说并不重要。我不明白为什么人们会否决您的答案,因为它回答了我的问题哈哈。我会接受你的回答!

以上是关于从数组中选择一个随机字符串[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何从字符串数组中获取随机字符串 [重复]

如何从随机数组中选择一个随机字符串

jQuery 从字符串数组中选择一个随机值

Unity & C# - 从数组中选择一个随机字符串

如何在 C# 数组字符串中选择 5 位随机数? [复制]

如何从数组中选择随机字符串并将其分配给变量? [复制]