【问题标题】:java hangman - counting correct user guessesjava hangman - 计算正确的用户猜测
【发布时间】:2019-07-17 20:39:20
【问题描述】:

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

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

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

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

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

            }

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

【问题讨论】:

    标签: java arrays if-statement while-loop


    【解决方案1】:

    如果您想将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
        }                 
    }
    

    【讨论】:

      【解决方案2】:

      这是因为您使用了 while 循环条件。当 indexCount=0 和 indexCount=1 时,您的出现次数会增加;可能你想这样做

      indexCount = indexCount + result;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-12-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多