算法步骤
- 在大串中索引小串
- 索引到小串后返回索引位置
- 从索引位置往后小串的长度处裁剪大串并且计数
- 直到大串中找不到小串,返回计数器的值
代码实现
大串
String max="woaiheima,heimabutongyubaima,wulunheimahaishibaima,zhaodaogongzuojiushihaoma";
小串
String min="heima";
在while循环中实现当大串中还有小串就执行计数器加一,大串进行裁剪两个步骤
while((index=max.indexOf(min))!=-1) {
count++;
max=max.substring(index+min.length());
}
全部代码
public class Test7 {
public static void main(String[] args) {
String max="woaiheima,heimabutongyubaima,wulunheimahaishibaima,zhaodaogongzuojiushihaoma";
String min="heima";
int count=0;
int index=0;
while((index=max.indexOf(min))!=-1) {
count++;
max=max.substring(index+min.length());
}
System.out.println(count);
}
}
运行结果为3