我試圖返回字符串,如果單詞「bread」出現在單詞的任一側,例如:getSandwich(「breadjambread」)→「jam」 但代碼我寫的不斷讓我超越例外。我怎樣才能解決這個問題? 這裏是我的代碼:此代碼中出現異常
public String getSandwich(String str) {
String tmp = "";
String newString = "";
for (int i = 0; i < str.length()-1; i++) {
if (str.length() >= 11 && str.substring(i, i+6).equals("bread")) {
tmp = str.substring(i+6);
}
if (tmp.length() > 0 && tmp.substring(i+1, i+7).equals("bread")) {
newString = tmp.substring(0, i);
}
}
return newString;
}
但是,當我將其更改爲length() - 5(這是沒有越界異常時的第一個點),它將不起作用。那麼我如何解決它? – user2036340 2013-03-17 14:54:36
@ user2036340我會嘗試刪除'str.length()> = 11'檢查。更簡單的解決方案是使用'str.replaceAll(「bread」,「」)'來做替換。 – dasblinkenlight 2013-03-17 14:59:29
但我只想要兩個麪包之間的字符(當有兩個麪包),所以如果我只是這樣做: '公共字符串getSandwich(String str){ String newString = str.replaceAll(「bread」 ,「」); return newString; }' 它不會工作 – user2036340 2013-03-17 15:05:13