下面的代码给了我一个头痛的问题:在替换所有的\ n之后,它应该跳出do - while循环,但它不会。任何想法如何解决这个问题?java:代码保持循环
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;
}
编辑:
我现在放在这条线:teHerkennenTemplate.trim();
只是我的if语句下面,但现在它给了我一个StringIndexOutOfRange: 0
错误在我的我的if语句
什么是您的终止条件?它会评估为“假”吗? –
我在空格子串'teHerkennenTemplate',所以最终应该是空的 – user3165926
teHerkennenTemplate是否有可能卡在带“”(空格)的字符串上,所以行teHerkennenTemplate = teHerkennenTemplate.substring(teHerkennenTemplate.indexOf(“ “)); 总是有相同的效果? 尝试在上面的行后面添加打印到teHerkennenTemplate进行调试。 – Wasafa1