Hallo, Java kann manchmal so grausam sein. Ich habe eine while Schleife, die einen String durchsucht und die Position zurückliefert. Die Schleife soll solange durchlaufen werden, bis kein String mehr gefunden wird. Die Rückgabe ist dann -1 aber warum erkennt meine Schleife das nicht sondern läuft von da ab unendlich?
Die Ausgabe ist
Begin_index vorher
0 3222 / 4825 / -1 / 3222 / 4825 / -1 / 3222 / 4825 / -1 / 3222 / 4825 / -1 .... (unendlich)
Code:
if (moreDates(str, sprache_index) > 2) {
System.out.print("Begin_index vorher \n"+begin_index_x+" ");
while (begin_index_x != -1) {
int such_laenge_x = 32;
begin_index_x = str.indexOf("Diese Zeitperiode ist gültig vom",begin_index_x);
System.out.print(begin_index_x+" / ");
int ende_x = such_laenge_x + begin_index_x;
String temp = str.substring(ende_x, ende_x + 12).trim();
resultx[22][i] = temp; //from date
temp = str.substring(ende_x + 21, ende_x + 32).trim();
resultx[24][i] = temp; //to date
begin_index_x = ende_x;
}
}
Die Ausgabe ist
Begin_index vorher
0 3222 / 4825 / -1 / 3222 / 4825 / -1 / 3222 / 4825 / -1 / 3222 / 4825 / -1 .... (unendlich)