1
我在做一个Hang子手游戏。我已经完成了它,但是我写的代码,只要有两个或更多的位置被隐藏的单词替换为猜测的字母,就只适用于第一个。例如,如果要找到的单词是“ball”,并且用户输入“b”和“l”,而不是“b_ll”,则他将作为隐藏词返回的单词是“b_l_”。这是一种奇怪的练习,因为用户首先输入字母,而不会在每次猜测后得到反馈。这是代码。在hang子手游戏中填写每一个丢失的字母的地方
for (int c = 0; c < guessedLetters.length(); c++)
{
if (wordToBeFound.contains(Character.toString(guessedLetters.charAt(c))))
{
hiddenWordChars[wordToBeFound.indexOf(guessedLetters.charAt(c))] =
guessedLetters.charAt(c);
}
}
在此先感谢您。
注意:不要在循环的保护条件中调用'str.toCharArray()'。它在每次调用时将字符串的字符复制到一个新数组中,这意味着每次循环迭代。只需使用'str.length()'(你不得不使用'str.toCharArray().length')。另外,你不能用'[]'索引到一个字符串。 –
Yeap解决了这个问题,虽然做了一些小的改动。关键是逻辑很好。谢谢! – Leet