首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用递归删除一个单词并统计它删除的次数?

如何使用递归删除一个单词并统计它删除的次数?
EN

Stack Overflow用户
提问于 2017-03-17 06:12:41
回答 2查看 690关注 0票数 0

我已经完成了大约一半的任务,我必须计算字符串中的“鸡”,删除鸡,并返回我必须删除它们的次数。

代码语言:javascript
复制
public static int countChickens(String word)
    {
        int val = word.indexOf("chicken");
        int count = 0;

        if(val > -1){
            count++;
            word = word.substring(val + 1);
            //I'm aware the following line doesn't work. It's my best guess.
            //word.remove.indexOf("chicken");
            val = word.indexOf("chicken");
        }
        return count;
    }

按照原样,该程序会计算单词本身中的鸡的正确数量。(发送"afunchickenhaschickenfun“返回2。)但是,如果我发送"chichickencken“这样的东西,我需要它能够返回2,因为它删除了第一只鸡,然后第二只鸡开始发挥作用。我该怎么做移除部分?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-21 06:15:11

好的,几天后老师给我们演示了怎么做。如果我对David Lee的代码理解正确的话,这只是他所做的事情的一种简化方式。

代码语言:javascript
复制
public static int countChickens(String word)
    {
        int val = word.indexOf("chicken");

        if(val > -1){
            return 1 + countChickens(word.substring(0, val) + word.substring(val + 7));

        }
        return 0;
    }
票数 0
EN

Stack Overflow用户

发布于 2017-03-17 06:40:33

不是用sudo代码测试和编写的,但应该会给你一个更好的想法来实现这一点。

代码语言:javascript
复制
int numberOfChickens = 0;

public void CountAndReplaceChicken(string word)
{
   int initCheck = word.indexOf("chicken");
   if (initCheck > -1)
   {
     word = word.remove.indexOf("chicken"); // not sure about the syntax in Eclipse but given you figure this part out
     numberOfChickens++;

     int recursionCheck = word.indexOf("chicken");
     if (recursionCheck > -1)
       CountAndReplaceChicken(word);
   }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42845726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档