/**
* @author:樊
* @Data: 2022/7/20
* @Time: 15:02
*/
/*
* 统计大串中小串出现的次数
*
* 举例:
* 在字符串"woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun"
* 结果:
* java出现的次数 5次
*
* 分析:
* 前提,我们已经直到了大串,小字符串“java”
*
* 1.定义一个统计变量,初始值为0
* 2.现在大串中查找第一次小串出现的位置
* a.索引为-1,说明不存在了,就返回统计变量
* b.索引不是-1,说明存在,统计变量++
* 3.把刚才的索引+小串的长度作为开始位置截取上一次的大串,返回一个新的字符串,并把该字符串的值重新赋给大串
* 4.返回到第步
*
*
* 解析:第2步:
* s1="woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun"
* s2="wozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun"
* s3="wozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun"
* s4="wozhendehenaijavaxinbuxinwoaijavagun"
* s5="xinbuxinwoaijavagun"
* s6="gun"
*/
package test3;
public class Test1 {
public static void main(String[] args) {
//定义一个大的字符串
String maxString ="woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun";
//定义查找的小串
String minString ="java";
//写功能实现
int count =getCount(maxString,minString);
System.out.println("java在大串中出现的:"+count+"次");
}
/*
* 两个明确的参数:
* maxString:大串
* minString:小串
* 返回值: int 出现的次数
* */
private static int getCount(String maxString, String minString) {
//定义统计变量 ,初始值为0
int count =0;
//先在大串中查找一次小串出现的位置
int index =maxString.indexOf(minString);
//索引不是-1,说明存在。统计变量++
while (index!=-1){
count++;
//把刚才的索引+小串的长度作为开始位置截取上一次的大串,返回一个新的字符串,并把该字符串的值重新赋值给大串
int startIndex= index+minString.length();
maxString =maxString.substring(startIndex);
//继续查找
index =maxString.indexOf(minString);
}
return count;
}
}
统计大串中小串出现的次数
最新推荐文章于 2022-11-15 18:54:42 发布