【发布时间】:2016-01-03 19:33:45
【问题描述】:
目前,我在我的 android 应用程序中使用了很多这样的功能。
public String class5e() {
String[] data = {
"barbarian",
"bard",
"cleric",
"druid",
"fighter",
"monk",
"paladin",
"ranger",
"rogue",
"sorcerer",
"warlock",
"wizard"
};
return data[randInt(0, data.length)];
}
这对我的大多数应用程序来说都很棒,但是我需要做更多的事情,例如,我想让它在每次选择向导选项时添加到向导数据库中,我可以制作一个向导将向导作为字符串返回并执行所有数据库条目等的函数,以便如果选择向导,它会执行需要完成的操作....只有那不起作用,如果我这样做,则在数组时设置向导代码无论选择何种选项都会进行处理。
我可以使用 switch 和 case,但是你必须硬编码 case 的数量,所以没有机会动态地添加到列表中(我的长期目标),而且它为每个选项引入了很多额外的文本。 if 语句也有同样的问题。
那么有没有一种方法可以从选项列表中随机选择并在选择某些选项时根据需要执行代码,简单而有效?
【问题讨论】:
-
我认为答案就在“...如果选择了某些选项...”这个问题中,否则可能需要修改代码架构。
-
当然,不要使用字符串,而是使用具有相关功能的枚举或类实例。基本上是命令或动作模式。
-
很可能需要修改结构是的,但不确定要做什么,对java来说仍然是新的(很新)我嵌套了很多函数,例如如果需要颜色,我调用一个返回的函数将颜色作为字符串添加到字符串“wizard”+ colour() 不确定是否可以使用枚举列表完成(这些对我来说是新的,因此将在几秒钟内阅读它们)
-
我突然想到我可以查看是否选择了向导,然后做额外的事情,只需检查字符串就会告诉我,还有很多我仍然不知道的 java 我想g 可能有更好的方法。