Но я получаю исключение индекса массива вне границ
Вы зацикливаете k
с 0
до возвращаемого значения message.length()
(исключая), но вывы используете его для индексации в newMessage
, который имеет максимальный индекс 25. Ясно, что строка message
имеет длину более 26 символов, поэтому k
переходит на > 25
, поэтому вы собираетесьза пределы.
Ограничьте k
длиной того, что вы индексируете, а не длиной строки.Или, если предполагается, что массив имеет ту же длину, что и строка, создайте его с new String[message.length()]
вместо new String[26]
.(Я бы все же изменил цикл на использование < newMessage.length
в этом случае, но это становится вопросом стиля, если они имеют одинаковую длину.)