Код ниже дает мне головную боль: он должен выпрыгнуть из цикла do-while после замены всех \ n, но это не так. Есть идеи, как это решить?java: code keep looping
public String invoerenTemplate(){
String templateGescheiden = null;
String teHerkennenTemplate = Input.readLine();
String uitvoer = teHerkennenTemplate;
do {
templateGescheiden = teHerkennenTemplate.substring(0, teHerkennenTemplate.indexOf(" "));
templateGescheiden += " ";
if (templateGescheiden.charAt(0) == '\\' && templateGescheiden.charAt(1) == 'n') {
teHerkennenTemplate = teHerkennenTemplate.replace(templateGescheiden, "\n");
uitvoer = uitvoer.replace(templateGescheiden, "\n");
}
teHerkennenTemplate = teHerkennenTemplate.substring(teHerkennenTemplate.indexOf(" "));
System.out.println(uitvoer);
} while (teHerkennenTemplate.length() > 0);
return uitvoer;
}
EDIT:
теперь я поместил эту строку: teHerkennenTemplate.trim();
чуть ниже моего, если-заявление, но теперь она дает мне ошибку StringIndexOutOfRange: 0
в моей первой строке из моих Условный оператор
Какое условие прекращения действия? Будет ли он когда-либо оценивать «ложь»? –
Я подставляю «teHerkennenTemplate» в пространствах, поэтому в конце концов должно быть пустым – user3165926
Возможно ли, что teHerkennenTemplate застрял на строке с «» (пробел), поэтому строка teHerkennenTemplate = teHerkennenTemplate.substring (teHerkennenTemplate.indexOf (" «)); всегда имеют такой же эффект? попытайтесь добавить печать на teHerkennenTemplate после строки выше для отладки. – Wasafa1