我正在从codingbat做一个问题,我被困在这个问题上。问题要求我找到'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。可以在此处找到问题的链接。