我正在构建一个刽子手/猜词游戏,它使用数组来检查用户输入是否与单词中的字母匹配(他们试图猜测)。尝试跟踪用户正确猜测的次数(使用发生变量),但每当代码运行时,它都会计数两次。
所以我们假设这个词是“alpaca”... 用户猜测字母“p”。 出现次数等于“2”(应为“1”)
为什么会计算两次以及如何解决?
while (indexCount < wordLength) {
result = word1.indexOf(guess, indexCount);
if (result != -1) {
occurence++;
//wordArr[result] = guess + " ";
}
indexCount++;
}
附注我希望这是有道理的,因为我不是最擅长解释事情的人。 如果有帮助的话,我可以发布完整的代码。
最佳答案
如果您想将occurrence
增加猜测字母的出现次数,则应该是:
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 Hangman - 计算正确的用户猜测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54849324/