Hangman不会在Java中重复写字母。

时间:2015-04-15 01:41:24

标签: java

使用我的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;
 }       

1 个答案:

答案 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