我正在做一些java練習,我無法弄清爲什麼答案不是這個。查找字符串中是否有兩個特定字符
for (int i=0;i<str.length()-2;i++) {
if ((str.charAt(i)=='b') && (str.charAt(i+2)=='b')) {
return true; }
else return false;
}
return false;
的問題要求返回true,如果給定的字符串(STR)中有「鮑勃」,除了中間人物不需要是「O」。以上代碼對於長度符合條件的三個字符的長度爲「bob」或「bbb」的三個字符的字符串返回true,但對於比「bobdfgkabcb」更長的字符串則爲false。我一整天都在努力解決這個問題和另一個類似的問題,所以我很樂意告訴你爲什麼錯了。
謝謝。
@TheLostMind或第一! – Yann 2014-09-30 08:24:24
你不應該在else塊中返回false。這個'else'會在第一次迭代中放棄你的循環。你應該刪除它。 – Tom 2014-09-30 08:24:27
這個練習是否被禁止使用正則表達式? – laruiss 2014-09-30 08:31:16