任务:
例如子串“nba”在整串“nbaabcdefnbaxyzmba”中出现的次数为2。
要求:
使用String或者StringBuffer类的常用方法来计算出现的
public class Test01 {
public static void main(String[] args) {
//创建主字符串、子串
String str="nbaabcdefnbaxyzmba";
String str1="nba";
//使用contains方法先看整串内是否包含子串,没有直接结束程序
if(str.contains(str1)!=true){
System.out.println("整串内没有对应子串");
return;
}
//定义一个子串计数器
int count=0;
//从0开始到str.length-2循环
for (int i = 0; i < str.length()-2; i++) {
//当截取的字符串与子串匹配时,count+1
if (str1.equals(str.substring(i, i + 3))) {
count++;
}
}
System.out.println("主字符串内有"+count+"个子串");
}
}
实现思路:
1.根据任务描述可知,要定义两个字符串,一个整串、一个子串
2.先试用String类里的常用方法contain()判断整串内是否包含子串,没有直接结束程序
3.如果整串内包含子串,那就定义一个计数器count,开始计算具体整串内有几个子串。
4.for循环实现i从0开始到整串.length-2,使用substring(i,i+3)每次取3个与子串进行equals()方法比较,当结果为TRUE时count++,否则执行下次循环。