我正在构建一个子手/单词猜测游戏,该游戏使用数组检查用户输入是否与单词中的字母匹配(他们正在尝试猜测)。试图跟踪用户正确猜测的次数(使用encenence变量),但是每当代码运行时,它就会计数两次。

假设这个词是“羊驼毛” ...
用户猜测字母“ p”。
出现次数等于“ 2”(应为“ 1”)

为什么计数两次,我该如何解决?


while (indexCount < wordLength) {
                result = word1.indexOf(guess, indexCount);

                if (result != -1) {
                    occurence++;
                    //wordArr[result] = guess + " ";
                }
                indexCount++;


            }





附言我希望这是有道理的,因为我不是最擅长解释事物的人。
如果有帮助,我可以发布完整的代码。

最佳答案

如果要将occurence递增猜中字母的出现次数,则应为:

indexCount = 0;
while (indexCount < wordLength) {
    result = word1.indexOf(guess, indexCount);
    if (result > -1) {
        occurence++;
        indexCount = result + 1; // current occurrence is at index result, so search for
                                 // next occurrence starting at index result + 1
    } else {
        break; // no more occurrences
    }
}

关于java - Java Hangman-计算正确的用户猜测,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54849324/

10-11 02:16