如何比较两个不同数组中的字符串组件(java)

55ooxyrt  于 2021-07-13  发布在  Java
关注(0)|答案(2)|浏览(217)

我正在构建一种类型的游戏(至少现在是这样……),基本上,我想让玩游戏的人进入一个省(是的,我是加拿大人)及其首都和程序,告诉他们这样做是否正确。
前任。,

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

我想用这样一种方式来编码它,如果array1的组件1等于array2的组件1,那么它是正确的。抱歉,我对java和这个网站还不太熟悉。

envsm3lx

envsm3lx1#

你可以用Map来达到这个目的。以下截取的工具以小写形式将各州Map到其首都城市。

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

如果statename表示state的名称,capitalname表示capital的名称,则可以通过表达式返回的布尔值来验证组合:

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

如果数组中已经有了所有的州名和大写字母,那么可以将它们放在Map中。

oknwwptz

oknwwptz2#

我同意前面的回答。hashmap可能最适合您的目的。但是,您仍然可以使用数组来执行此操作。我不知道你想怎么做,但你可以试试这样的方法:

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

相关问题