如何将这两个递归函数合并为一个函数?

时间:2013-06-15 13:24:26

标签: java recursion

public static int countWord(String string)
{
    if (string == null || string.equals(""))
    {
        return 0;
    }
    else
    {
        return 1 + countWord(string.substring(1));
    }
}

public static int countSent(String sentence)
{
    int i = sentence.indexOf(' ');
    if (i == -1) return 1;                          //Space is not found
    return 1 + countSent(sentence.substring(i+1));
}

有人可以帮我把它变成一个功能 如果用户输入一个单词,它应该计算字母,如果用户输入一个句子,它应该计算句子中的单词

例如

Input: Apple
Output: 5

Input: apple is red
output: 3

1 个答案:

答案 0 :(得分:0)

看起来有点像cop-out,但如果需要单个函数调用,只需编写一个count函数然后调用相应的递归子函数。例如:

public static int count(String input)
{
    if (input.indexOf(' ') == -1)
    {
        return countWord(input);
    }
    return countSent(input);
}