任务描述:
编写一个程序,记录一个子串在整串中出现的次数,例如记录子串“nba”在整串“nbaernbatnbaynbauinbaopnba”中出现的次数,通过观察可知子串“nba”出现的次数为6.要求使用string类的常用方法来计算出现的次数。
任务目标:
学会分析“记录一个子串在整串中出现的次数”任务的实现思路
根据思路独立完成“记录一个子串在整串中出现的次数”任务的源代码编写、编译及运行。
掌握string类中常用方法的使用。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
public class demo01 {
public static void main(string[] args) {
string s= "nbaernbatynbauinbaopnba" ;
string key= "nba" ;
int count=count(s,key);
system.out.println(count);
}
public static int count(string s, string key) {
int count= 0 ;
int d= 0 ;
while ((d=s.indexof(key,d))!=- 1 ){
s=s.substring(d+key.length());
count++;
}
return count;
}
}
|
实现思路:
(1)分析任务描述可知,做此任务需要先定义两个字符串,一个表示子串,一个表示整串。
(2)要查找子串在整串中出现的次数,可以先使用string类的contain()方法,判断整串中是否包含子串,如果不包含,那么不用计算,子串在整串中出现的次数一定为0。
(3)如果整串中包含了子串,那么再具体计算出现的次数。使用string类的indexof()方法可以获取子串在整串中第一次出现的索引。获取到之后,再在整串中该索引加上子串长度的位置处继续查找子串(可以通过string类的substring()方法将整串的剩余部分截取出来,然后在剩余整串中从头查找子串)。依次类推,通过循环完成查找,直到找不到子串为止,此时indexof()方法的返回值为-1.
(4)定义一个计数器,记录出现的次数,在循环中每查到一次子串,则计数器加1.
以上这篇java 记录一个子串在整串中出现的次数实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/Best_xing/article/details/70244858