我正在构建一个刽子手/猜词游戏,它使用数组来检查用户输入是否与单词中的字母匹配(他们试图猜测)。尝试跟踪用户正确猜测的次数(使用出现变量),但每当运行代码时,它都会计数两次。所以假设这个词是“alpaca”......用户猜测字母“p”。出现次数等于“2”(应该是“1”)为什么计数两次,我该如何解决?while (indexCount < wordLength) { result = word1.indexOf(guess, indexCount); if (result != -1) { occurence++; //wordArr[result] = guess + " "; } indexCount++; }PS我希望这是有道理的,因为我不是最擅长解释事情。如果有帮助,我可以发布完整的代码。
2 回答
catspeake
TA贡献1111条经验 获得超0个赞
如果你想增加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
}
}
qq_遁去的一_1
TA贡献1725条经验 获得超7个赞
那是因为您正在使用 while 循环条件。当 indexCount=0 和 indexCount=1 时,您的出现次数会增加;可能你想这样做
indexCount = indexCount + result;
添加回答
举报
0/150
提交
取消