任务描述:设计一个程序,用String类计算"nbaernbaynbauinbaopnba"中"nba"出现的次数。
方法一:
import java.util.*;
public class test1 {
public static void main(String[] args) {
String str=new String("nbaernbaynbauinbaopnba");
String[] arr=new String[10];
arr[0]= str;
int count=0; //定义变量记录出现次数
int i=0;
while(true) {
if(arr[i].contains("nba")==true) {
count++;
int a=arr[i].indexOf("nba");
i++;
arr[i]=arr[i-1].substring(a+3); //截取字符串
}else{
System.out.println(arr[i].indexOf("nba"));
break;
}
}
System.out.println("nba出现的次数为:"+count);
}
}
方法二:
import java.util.*;
public class test2 {
// 获取子串出现的次数
public static int getKeyStringCount(String str,String key) {
int count =0;
if(!str.contains(key)) {
return count;
}
int index=0;
while((index=str.indexOf(key))!=-1) { //当不包含字串时,返回值为-1
str=str.substring(index+key.length());
count++;
}
return count;
}
public static void main(String[] args) {
String str="nbaernbaynbauinbaopnba";
String key="nba";
int count=getKeyStringCount(str,key);
System.out.println("nba出现的次数为:"+count);
}
}