for (int i = 0; i <= getSecretWord.length(); i++)
应该:
for (int i = 0; i < getSecretWord.length(); i++)// ^^^// see here
一个有效索引
n个字符数的字符串(或
n-元素阵列)是
0通过
n-1以下。
因此,如果您的密码是
xyyzy,则有效索引为零到四。您的原始循环
i将设置为0到 5进行 迭代 , 因此出现了问题。
但是,当您可以摆脱一些简单的东西时,似乎有很多不必要的代码。
首先,我将消除混乱的根源-函数名称听起来像是用户输入,并且密码必须完全匹配,而您的注释则相反:
谢谢,这有效。但是循环的原因是用户输入了一个字母,我想看看该字母是否在SecretWord中。(这是一个子手游戏)。
在这种情况下,您只想查看秘密单词中是否存在单个字符。我会更改函数名称以适合它,即使那样,也可以用更少的代码来完成:
private boolean isInSecretWord (String userInput) { String secretWord = getSecretWord(); return secretWord.contains(userInput);}


