Как я могу работать со строковым индексом вне диапазона?

#stack

Вопрос:

Я создаю программу, которая открывает внешний файл и читает из него предложения. После этого он проверяет, является ли предложение палиндромом. Я создал метод, который проверяет наличие палиндрома, и он должен быть хорошим. Проблема с моей программой заключается в том, что когда я ее компилирую, она сообщает мне, что в строке 45 есть «Строковый индекс вне диапазона:20». Я пытался найти свою ошибку, но не могу найти решение. Строка 45-это значение = предложение.подстрока(количество, количество 1);

 //open the input stream
FileReader fRead = new FileReader("File1.txt");

//prepare input stream for buffering
BufferedReader bRead = new BufferedReader (Read);

//read the first line
sentence = bRead.readLine();
len = sentence.length();

queue.initializeQueue();

while(sentence != null)
{
    sentence = sentence.replaceAll("[^A-Za-z] ", "").toLowerCase();
    count = 0;
    while (count < len)
    {
        value = sentence.substring(count, count   1);
        queue.addQueue(value);

        //count characters per line
        count  ;
    }//end while count
    sentence = bRead.readLine();

}//end while

//close the input file
bRead.close ();

if (Pal(sentence))
{
    System.out.println(sentence   "tThat is a palindrome.");
}
else
{
    System.out.println(sentence   "tThat is not a palindrome.");
}