public static int getIndexOf(char ch, String str) {
if (str == null || str.equals("")) {
return 0;
//base case
}else{
char first = str.charAt(0);
if (ch != first) {
return -1;
//returns -1 when the character cannot be found within the string
}else{
int rest = str.length() - 1;
if (str.charAt(rest) == ch) {
return rest;
}
return lastIndexOf(ch, str.substring(0, rest));
//recursive case
}
}
}
这是我的方法,它返回输入字符串的输入字符的索引。但是,当我在交互平面中运行它时,它返回错误的数字。例如,当我输入“a”和“peach”时,它应该返回 2,但它返回 -1。仅当在字符串中找不到字符时,此方法才应返回 -1。谁能告诉我如何处理它?谢谢!