Java: для сбоя цикла с использованием метода charAt

У меня есть ошибка в этом блоке кода. Отладчик предполагает, что причиной этого является эта строка кодаchar chr = getSecretWord.charAt(i);

Что этот код делает, это ищет совпадениеuserInput а такжеsecretWord, у меня естьfor loop чтобы просмотреть длину букв секретного слова одну за другой, и, если есть соответствующие буквы, верните 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, чтобы я мог использовать метод Stringslength()?

String getSecretWord = getSecretWord();

for (int i = 0; i <= getSecretWord.length();i++)

Debug code:

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)*

Ответы на вопрос(2)

Ваш ответ на вопрос