计算字符串中子串出现的次数,分为两种情况:
第一种:
public static void main(String[] args) {
// TODO Auto-generated method stub
String string = "adciddlfjgaoiadbdeodaddfaadoioajfadkjneoiadnde";
String str = "ad";
int count = 0;
while (true) {
//表示str在string.indexof第一次出现的位置
int index = string.indexOf(str);
// 注意为-1,不是0
if (index != -1) {
// index+str.length(),表示str出现的count次数,string.length()表示在字符串的长度内
string = string.substring(index + str.length(), string.length());
count++;
} else {
break;
}
}
System.out.println("子串在父串出现的次数是"+count+"次");
}
第二种,为键盘键入:
public class MyString2 {
public static void main(String[] args) {
System.out.println("请输入父串");
Scanner sc =new Scanner(System.in);
String father = sc.next();
System.out.println("请输入子串");
String son = sc.next();
int count=0;
while(son.length()<=father.length()) {
if(father.length()!=-1) {
// int index = father.indexof(son)可以简写为father.indexof(son)
father=father.substring(father.indexOf(son)+son.length(), father.length());
count++;
}else {
break;
}
}
System.out.println("子串在父串出现的次数是"+count+"次");
}
}