Вот неправильная строка в вашем коде:
Idx = IdxUpto;
Вы должны увеличивать плюс один, чтобы учесть, что вам также нужно продвинуться через запятую, ширина которой равна единице.Так что используйте это:
Idx = IdxUpto + 1;
Но учтите, что у вас есть несколько других проблем.Во-первых, вы должны следовать соглашениям Java и избегать начинать имена переменных с заглавных букв.Кроме того, здесь, вероятно, имеет смысл использовать цикл while
вместо цикла for
без указанных критериев.Учитывая все это, вот рабочая версия вашего скрипта:
String input = "A,B,C,D,E";
StringBuilder op = new StringBuilder();
int idx = 0;
int idxUpto = 0;
do {
idxUpto = input.indexOf(",", idx);
if (idxUpto == -1) {
String term = input.substring(idx, input.length());
op.append(term);
System.out.println(term);
System.out.println("There is no more commas in String");
break;
}
String term = input.substring(idx, idxUpto);
op.append(term);
idx = idxUpto+1;
System.out.println(term);
} while(true);
A
B
C
D
E
There is no more commas in String