以递归方式查找字符串中的字母出现次数

时间:2014-02-26 23:30:47

标签: java string indexing char substring

您好我正在尝试创建一个递归方法,该方法返回字符在单词中存在的次数。到目前为止,我已经创建了一个非递归实现此方法的方法,但我无法思考如何递归地执行此操作。

public static int count (String line, char c)
{
     int charOccurences = 0;
     for (int x = 0 ; x < line.length () ; x++)
     {
         if (line.charAt (x) == c)
         {
             charOccurences++;
         }
     }
     return charOccurences;       
}

任何帮助都会很棒,谢谢。

1 个答案:

答案 0 :(得分:3)

你在这里缺少一些逻辑。

  • 如果你的字符'c'用完了,那么lastIndexOf会返回-1,这会导致子字符串方法出错。
  • 您需要一些逻辑来计算c的出现次数。您的递归仍然需要将调用的返回值加到'count'或调用count的次数。目前最后一次调用count将返回0,这将被传回。

这听起来像是一个家庭作业问题,所以我要让别人为你做功课:)

祝你好运!