使用我的Java程序。它需要用户char并查看它是否是随机单词。但是,如果char不止一次出现在单词中,我的程序在char首次出现之后就不会检测到单词中的char。如何修复下面的方法以便它可以。提前谢谢。
public Boolean guessChar(char guess){
for(int index = 0; index < hiddenWord.length; index++){
if(guess == hiddenWord[index]){
userWord[index] = guess;
return true;
}
}
return false;
}
答案 0 :(得分:1)
根据您的代码进行快速修改如下:
public Boolean guessChar(char guess){
boolean result = false;
for(int index = 0; index < hiddenWord.length; index++){
if(guess == hiddenWord[index]){
userWord[index] = guess;
result = true;
}
}
return result;
}
目前,for
循环不会循环遍历所有字符,因为如果找到第一个匹配字符,方法将返回。
要解决此问题,您可以引入一个默认值为result
的布尔值(false
)。如果找到匹配的字符,则将此变量更新为true
,并在循环遍历所有字符后,您的方法将返回result
。