'for'不以布尔方法循环

时间:2018-10-30 12:39:04

标签: java for-loop

我有这个布尔方法,该方法应该比较“ word”和“ inputPlay”之间的所有字符,如果匹配,则将int数组更新为值1并返回true。

但是,它不会循环,而是在找到匹配项时停止。我应该怎么做?

public static boolean updateArray(String word, int[] guesses, String inputPlay) {

    for (int i = 0; i < word.length(); i++) {
        if (inputPlay.charAt(0) == word.charAt(i)) {
            guesses[i] = 1;
        }
        return true;
    }
    return false;
}

1 个答案:

答案 0 :(得分:1)

假设如果有任何字母匹配,您应该返回true,则需要使用在循环外声明的临时boolean

public static boolean updateArray(String word, int[] guesses, String inputPlay) {
    boolean match = false;

    for (int i = 0; i < word.length(); i++) {
        if (inputPlay.charAt(0) == word.charAt(i)) {
            guesses[i] = 1;
            match = true;
        }
    }

    return match;
}

由于我们在if语句中将match设置为true,因此假设任何字母都匹配,它将在for循环终止后继续进行迭代并返回true。否则,它将返回false