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