给定两个字符串 str_1 和 str_2。目标是使用递归过程计算字符串 str1 中子字符串 str2 的出现次数。
递归函数是在其定义中调用自身的函数。
如果 str1 是 "I know that you know that i know",str2 是 "know"
出现次数为 - 3
让我们通过示例来理解。
例如
输入
str1 = "TPisTPareTPamTP", str2 = "TP";
输出
Count of occurrences of a substring recursively are: 4
Explanation
的中文翻译为:解释
The substring TP occurs 4 times in str1.
输入
str1 = "HiHOwAReyouHiHi" str2 = "Hi"
输出
Count of occurrences of a substring recursively are: 3
Explanation
的中文翻译为:解释
The substring Hi occurs 3 times in str1.
下面程序中使用的方法如下 -
在这种方法中,我们将使用 java 中的 contains() 方法搜索 str2 在 str1 中的出现。如果str2存在于str1中,则返回true。如果为 true,请使用 java 中的 ReplaceFirst() 方法将其替换为“”,然后将返回值加 1 以增加计数,从而从 str1 中删除第一个匹配项。
取两个字符串作为str1和str2。
递归方法 subsrting_rec(String str, String sub) 接受字符串 str 及其子字符串 sub 并返回 sub 在 str 中出现的次数.
检查str.contains(sub)是否为true。 ( str 有 sub )
如果为 true,则使用 str.replaceFirst(sub,””) 将第一次出现的 sub 替换为“”。
在 subsrting_rec(String str, String sub) 的递归调用中执行此操作。
在所有递归结束时,所有返回值的总和为 count .
打印结果。
示例
实时演示
public class recursive{ public static void main(String args[]){ String str1 = "TPisTPareTPamTP", str2 = "TP"; System.out.println("Count of occurrences of a substring recursively are: "+subsrting_rec(str1, str2)); } static int subsrting_rec(String str, String sub){ if (str.contains(sub)){ return 1 + subsrting_rec(str.replaceFirst(sub, ""), sub); } return 0; } }
输出
如果我们运行上面的代码,它将生成以下输出 -
Count of occurrences of a substring recursively are: 4
以上是在Java中递归地计算子字符串出现的次数的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Dreamweaver Mac版
视觉化网页开发工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3汉化版
中文版,非常好用

WebStorm Mac版
好用的JavaScript开发工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。