我在这段代码中有一个错误。调试器建议它的原因是这行代码char chr = getSecretWord.charAt(i);
这段代码的作用是寻找 和 之间的userInput
匹配secretWord
。我要for loop
一一检查secretWord字母的长度,如果有匹配的字母返回true。如果不是,则返回 false ......但是当它假设只是返回 false 时程序崩溃......我猜这与这条线有关,但不知道究竟是什么getSecretWord.charAt(i);
private boolean isMatchingSecretWord(String userInput)
{
String secretWord = "";
String getSecretWord = getSecretWord();
for (int i = 0; i <= getSecretWord.length();i++)
{
char chr = getSecretWord.charAt(i);
secretWord = ""+chr;
if (secretWord.equals(userInput))
{
println("is true");
return true;
}
}
return false;
}
作为旁注,我对这段代码所做的是否正确,将 getSecretWorld() 方法分配给 String 以便我可以使用 Strings 方法length()
?
String getSecretWord = getSecretWord();
for (int i = 0; i <= getSecretWord.length();i++)
调试代码:
Exception in thread "Thread-4" java.lang.StringIndexOutOfBoundsException: String index out of range: 4
at java.lang.String.charAt(String.java:686)
at Hangman.isMatchingSecretWord(Hangman.java:49)
at Hangman.userInput(Hangman.java:34)
at Hangman.run(Hangman.java:20)*