Fehler "String-Index außerhalb des Bereichs: 0" bei Verwendung von String Builder

Also das ist mein Code in Java (für die Rückgabe von zwei Hälften eines Strings - eine ist die ungerade Hälfte, beginnend mit dem Index 0 oder dem ersten Zeichen, und die zweite Hälfte, beginnend mit dem Index 1 oder dem zweiten Zeichen) :

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);
     }
}

So ist mein Problem - wenn ich versuche, dieses Programm auf BlueJ IDE auszuführen, tut es das nicht und gibt den Fehler im Titel in der im Kommentar genannten Zeile zurück.

Ich habe diese Site nach einer ähnlichen Frage durchsucht, die mir bei meinem Fehler helfen könnte. Ich habe jedoch nur eine Frage gefunden, die auf eine von mir bereits durchgeführte Änderung hinweist (in der StringBuilder-Methode setCharAt hatte die Person die Parameter i und ch umgekehrt) ).

Hat das etwas damit zu tun, dass die "Ausgabe" zunächst als leer deklariert wird und die Methode setCharAt nur die bereits vorhandenen Zeichen ersetzen kann? Jede Hilfe wäre sehr dankbar.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage