我正在构建一种类型的游戏(至少现在就是这样......)基本上,我希望玩游戏的人进入一个省(是的我是加拿大人)及其资本和计划告诉他们他们是否正确这样做。
例,
array1[ ] = {ontario, manitoba, saskatchewan};
array2[ ] = {toronto, winnipeg, regina};
我想以这样的方式对其进行编码:如果array1的组件1等于array2的组件1,那么它是正确的。对不起,我是java和这个网站的新手。
答案 0 :(得分:3)
您可以使用Map来实现此目的。以下剪切实现将小写状态映射到其首都城市。
Map<String,String> stateCapital = new HashMap(){{
put("ontario","toronto");
put("manitoba","winnipeg");
put("saskatchewan","regina");
}};
如果stateName表示sate的名称,而capitalName表示大写的名称,则可以通过表达式返回的布尔值来验证组合:
stateCapital.get(stateName.toLowerCase()).equalsIgnoreCase(capitalName)
如果您已经拥有数组中的所有州名和大写字母,则可以将它们放在地图中。
答案 1 :(得分:1)
我同意以前的答案。 HashMap可能最适合您的用途。但是,您仍然可以使用数组执行此操作。我不确定你想怎么做你的游戏,但你可以尝试这样的事情:
for (int i = 0; i < array1.length; i++) {
if (userInput.compareTo(array2[i]) == 0) {
return correctAnswer;
}
}