猿问

java hangman - 计算正确的用户猜测

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


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


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


while (indexCount < wordLength) {

                result = word1.indexOf(guess, indexCount);


                if (result != -1) {

                    occurence++;

                    //wordArr[result] = guess + " ";

                }

                indexCount++;

                


            }


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


富国沪深
浏览 129回答 2
2回答

catspeake

如果你想增加occurence猜测字母的出现次数,它应该是:indexCount = 0;while (indexCount < wordLength) {&nbsp; &nbsp; result = word1.indexOf(guess, indexCount);&nbsp; &nbsp; if (result > -1) {&nbsp; &nbsp; &nbsp; &nbsp; occurence++;&nbsp; &nbsp; &nbsp; &nbsp; indexCount = result + 1; // current occurrence is at index result, so search for&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// next occurrence starting at index result + 1&nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; break; // no more occurrences&nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}

qq_遁去的一_1

那是因为您正在使用 while 循环条件。当 indexCount=0 和 indexCount=1 时,您的出现次数会增加;可能你想这样做indexCount&nbsp;=&nbsp;indexCount&nbsp;+&nbsp;result;
随时随地看视频慕课网APP

相关分类

Java
我要回答