Java ';对于';不在布尔方法中循环

Java ';对于';不在布尔方法中循环,java,for-loop,Java,For Loop,我有一个布尔方法,它应该比较“word”和“inputPlay”之间的所有字符,如果匹配并返回true,则将int数组更新为值1 但是,它不会循环,而是在找到匹配项时停止。我应该怎么做 public static boolean updateArray(String word, int[] guesses, String inputPlay) { for (int i = 0; i < word.length(); i++) { if (inputPlay.cha

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

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

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;
}
公共静态布尔更新array(字符串字、int[]猜测、字符串输入播放){
for(int i=0;i
如果有任何字母匹配,则假设您应该返回
true
,您需要使用在循环外声明的临时
布尔值:

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;
}
公共静态布尔更新array(字符串字、int[]猜测、字符串输入播放){
布尔匹配=假;
for(int i=0;i

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

是否只想
if
块中返回true
?还有其他逻辑吗?目前,在循环的第一次迭代中,这将始终返回true。你想什么时候返回?这是因为你在for循环中返回true。@马修科林斯:那么你就不想在循环中返回了。如果找到匹配项,则要在循环后返回。此外,
charAt(0)
始终获取
inputPlay
的第一个字符,并将其与
word
的下一个字符进行比较-这可能是
chartAt(i)
,如果
word
inputPlay
的长度不一样,请小心。请不要通过破坏您的帖子为其他人做更多的工作。通过在Stack Exchange(SE)网络上发布,您已根据授予SE分发该内容的不可撤销权利(即,无论您未来的选择如何)。根据SE政策,该帖子的非故意破坏版本是发布的版本。因此,任何故意破坏行为都将恢复原状。如果您想了解有关删除帖子的更多信息,请参阅: