【发布时间】:2020-03-21 00:19:06
【问题描述】:
我创建了一个函数,用于递归计算函数中特定字符的数量。
public static int countCharInString(String s, char c)
{
return countCharInString(s, c, 0);
}
public static int countCharInString(String s, char c, int index)
{
if(index==s.length())
{
return 0;
}
if(s.charAt(index) == c)
{
return 1 + countCharInString(s, c, index+1);
}
if(s.charAt(index)!=c)
{
return countCharInString(s, c, index+1);
}
}
如何在函数末尾添加一个 return 语句,以返回我在函数内“计数”的整数?
【问题讨论】:
-
第一种方法的意义何在?
-
还有——为什么要使用递归?这是要求吗?
-
@sleepToken 是的,它是递归练习的一部分。我知道内存方面比循环运行更糟糕,但这是练习的一部分。
-
@sleepToken 第一个函数只接收一个字符串和一个字符,我需要第二个函数在其输入中添加一个索引。有没有办法只用一个功能?
-
@YonatanRafaely 您可以在一个函数中执行此操作,如果不是传入索引,而是使用
substring()从后续调用中删除您已经检查过的字符。
标签: java if-statement recursion return