我得到了一个充满“项目”的枚举,我想生成枚举中的一个随机项目并将其放入我的清单中,我用数组制作了清单。数组只有10 int的空间。
public class InventoryEnums {
public static void main (String[] args){
int[] inventar = new int[9] // int array mit 10 Plätzen
enum items {
KARTE, MONSTERBALL, MONSTERDEX, FAHRRAD, VM03, HYPERHEILER, AMRENABEERE, TOPGENESUNG, ANGEL, TOPSCHUTZ
}
这不是你想要的吗?
public class App {
public static void main(String[] args) {
Random random = new Random();
enum items {
KARTE, MONSTERBALL, MONSTERDEX, FAHRRAD, VM03, HYPERHEILER, AMRENABEERE, TOPGENESUNG, ANGEL, TOPSCHUTZ
}
items[] inventar = items.values();
int index = random.nextInt(inventar.length);
System.out.println(inventar[index]);
}
}
枚举应以单数命名,并应以大写字母开头。
enum Item { KARTE, MONSTERBALL, MONSTERDEX, FAHRRAD, VM03, HYPERHEILER, AMRENABEERE, TOPGENESUNG, ANGEL, TOPSCHUTZ }
我建议你努力设计一个比“项目”更具描述性的名字。
通过调用值获取所有枚举对象的数组。
Item[] allItems = Item.values() ;
生成一个随机数。使用该数字作为所有项目数组的索引。
int randomIndex = ThreadLocalRandom.current().nextInt( 0 , allItems.length ) ; // ( inclusive , exclusive )
Item rando = allItems[ randomIndex ] ;
或者,您可能想随机排序(洗牌)枚举的所有元素。如果是这样,请在阵列的支持下制作一个列表。调用集合。随机播放。对列表所做的更改也会影响备份阵列。因此数组被洗牌。
Item[] allItems = Item.values() ;
List< Item > list = Arrays.asList( allItems );
Collections.shuffle( list );
更简单地说:
Item[] allItems = Item.values() ;
Collections.shuffle( Arrays.asList( allItems ) );
查看此代码在Ideone上实时运行。通用域名格式。
[MonsterBALL, TOPSCHUTZ, KARTE, FAHRRAD, VM03, Monsterdex, ANGEL, AMRENABEERE, TOPGENESung, HYPERHEILER]
您可以获取范围为0到数组的随机整数值。长度为
int rand = new Random().nextInt(items.values().length);
然后,您可以获得使用生成的随机值的枚举
items.values()[rand];
然后在循环中使用它来填充数组。
微调器板条箱有一个枚举,其中包含大量可能的微调器。 这是枚举(跳过除顶部和底部4之外的所有值): 新微调器易于创建: 但是,我希望随机选择一个微调器,这是行不通的: 因为: 如何随机选择枚举值,并使用该值显示随机微调器?
我需要java JAVA CODE中此解决方案的delphi解决方案
问题内容: 如果我有这样的枚举: 随机挑选一个的最佳方法是什么?它不需要是生产质量的防弹产品,但是相当均匀的分配将是不错的选择。 我可以做这样的事情 但是有更好的方法吗?我觉得这是之前已解决的问题。 问题答案: 我唯一建议的是缓存结果,因为每个调用都会复制一个数组。另外,不要每次都创建一个。保持一个。除此之外,您在做什么都很好。所以:
如果我有这样的枚举: 随机挑选的最佳方式是什么?它不需要是生产质量的防弹产品,但一个相当均匀的分布将是很好的。 我可以做这样的事 但是有没有更好的方法呢?我觉得这是以前解决过的问题。
问题内容: 假设您有一些元素 并希望从中随机选择任何颜色。 我把颜色放进去 然后选择一个随机颜色,例如: 所有这些(虽然工作正常)似乎都不必要地复杂。有没有一种简单的方法来选择随机枚举元素? 问题答案: Java的枚举实际上是功能齐全的对象。您可以在声明中添加方法 它将允许您像这样使用它:
我正在编写一个二十一点游戏。我有一个所有可用牌类型的枚举。交易时,我想使用Random从枚举中随机选择一张牌给玩家。如何使用整数值对应枚举值?或者,我如何为该枚举的变量随机选择枚举值? 纸牌Enun: