我正在构建一个子手/单词猜测游戏,该游戏使用数组检查用户输入是否与单词中的字母匹配(他们正在尝试猜测)。试图跟踪用户正确猜测的次数(使用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/