Получение ошибки «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 может заменять только те символы, которые уже существуют? Любая помощь будет принята с благодарностью.