Получение ошибки «String index out of range: 0» при использовании String Builder

Итак, это мой код на Java (для возврата двух половин строки - одна нечетная половина, начинающаяся с индекса 0 или первого символа, а вторая половина, начинающаяся с индекса 1 или второго символа):

public class StringTest{
     public String halfOfString(String message, int start){
            int length = message.length();
            StringBuilder output = new StringBuilder(length); 
            char ch;
            int i;
            if((start==0)||(start==1)){
               for(i=start; i<message.length(); i=i+2){
                            ch = message.charAt(i);
                            output.setCharAt(i,ch); // error occurs here
               }

            }
     return output.toString();
     }

     public void testFunction(){
           String s = "My name is Sid";
           String first = halfOfString(s, 0);
           String second = halfOfString(s, 1);
           System.out.println("First half is " + first + " and second half is " + second);
     }
}

Поэтому моя проблема в том, что когда я пытаюсь запустить эту программу в BlueJ IDE, она не выполняется и возвращает ошибку в заголовке, в строке, упомянутой в комментарии.

Я пролил этот сайт на похожий вопрос, который может помочь мне с моей ошибкой, но все, что я нашел, был вопрос, который предложил изменение, которое я уже реализовал (в методе setCharAt StringBuilder человек изменил параметры i и ch) ,

Это как-то связано с тем, что «output» сначала объявляется пустым, а метод setCharAt может заменять только те символы, которые уже существуют? Любая помощь будет принята с благодарностью.

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

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