繁体   English   中英

如何比较两个不同数组中的String组件(Java)

[英]How to compare String components in two different arrays (Java)

我正在构建一种类型的游戏(至少现在就是这样......)基本上,我希望玩游戏的人进入一个省(是的我是加拿大人)及其资本和程序告诉我他们如果他们这样做的话。

例,

array1[ ] = {ontario, manitoba, saskatchewan};
array2[ ] = {toronto, winnipeg, regina};

我想以这样的方式对其进行编码:如果array1的组件1等于array2的组件1,那么它是正确的。 对不起,我是java和这个网站的新手。

您可以使用Map来实现此目的。 以下剪切实现将小写的状态映射到其首都城市。

Map<String,String> stateCapital = new HashMap(){{
        put("ontario","toronto");
        put("manitoba","winnipeg");
        put("saskatchewan","regina");
    }}; 

如果stateName指示sate的名称而capitalName指示大写的名称,则可以通过expression返回的布尔值来验证组合:

stateCapital.get(stateName.toLowerCase()).equalsIgnoreCase(capitalName)

如果已经有数组中的所有状态名和大写字母,则可以将它们放在地图中。

我同意以前的答案。 HashMap可能最适合您的用途。 但是,您仍然可以使用数组执行此操作。 我不确定你想怎么做你的游戏,但你可以尝试这样的事情:

for (int i = 0; i < array1.length; i++) {
    if (userInput.compareTo(array2[i]) == 0) {
        return correctAnswer;
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM