我有这个布尔方法,该方法应该比较“ 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;
}
答案 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
。