下面的代碼給了我一個頭痛的問題:在替換所有的\ 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