私はコーディングバットから問題を起こしていますが、この問題で立ち往生しています。質問では、文字列内のすべてを検索するように求められますが、それらの直前にある は'hi'
無視します。言い換えれば、数えないで、ただ.'hi'
'x'
'xhi'
'hi'
入力が"xxxx"
. 私のコードは次のとおりです。
public int countHi2(String str) {
String s = "hi";
int count = 0;
if(str.length() < 2) {
return 0;
}
else if(str.charAt(0) == 'x' && str.substring(1,3).equals(s)) {
count+= countHi2(str.substring(3));
}
else if(str.substring(0,2).equals(s)){
count+= 1 + countHi2(str.substring(2));
}
else {
count+= countHi2(str.substring(1));
}
return count;
}
問題は、IndexOutOfBoundsException をスローすることです。質問へのリンクはこちらにあります。