Recursion_Count of aaa

问题描述 投票:0回答:1

编写一个递归函数,计算“aaa”的次数 出现在字符串中。打印返回的值。

输入: 啊啊啊

输出: 4

使用递归编写了以下代码,但“a”的值没有更新,而且编译器找不到符号“count”。谁能指出下面代码中的错误:

public static int retcount(String st,int s,int e){
        if(e>st.length()-1){
          return count;
        }
         int count=0;
        if(st.contains(st.substring(s,e))){
              count=count+1;
            retcount(st,s+1,e+1);
        }
         return count;
        }
java string recursion substring
1个回答
0
投票

这里有一些可能有帮助的想法。考虑起始字符串

"abcdefgh"
.

  • 如果我用 substring(1) 调用该方法。我会得到

    "bcdefgh"

  • 如果我再做一次,我会得到

    "cdefgh"

  • 在某些时候,我希望能够查看传递的长度为 3 的字符串是否以“aaa”开头。

  • 如果是这样,我想增加计数并返回值。

  • 否则,我不会增加计数并返回值。

  • 由于调用正在展开,因此字符串将一次一个字符地重新构建。所以重复上面的过程。

在方法中使用打印语句来帮助确定发生了什么。

最终,您可以传递一个字符串和所需的

target substring
作为参数。您可以使用
length
target
来调整子字符串匹配。

© www.soinside.com 2019 - 2024. All rights reserved.