我正在尝试更熟悉 java 中的递归。我正在尝试计算给定字符串中出现字符的次数。
public class apptest {
public static void main(String[] args) {
apptest c = new apptest();
String input = "aaa";
char p = 'a';
c.freq(input, p);
}
public int freq(String c, char p) {
if (c.length() == 0) {
return 0;
} else if (c.charAt(0) == p) {
return 1 + freq(c.substring(1, c.length()), p);
} else
return freq(c.substring(1, c.length()), p);
}
}
我没有得到任何输出。并且完全不知道如何解决这样的问题。我在网上查看并找到了该freq(c.substring(1, c.length()),p);
部分,但通过代码它没有意义..似乎每次通过它仍然会处理'aa'并且不一定缩小它..我没有看到什么?