题目:计算字符串中子串出现的次数
代码如下:
public class java49 {
// 输入字符串
public String inputString() {
System.out.println("请输入一个字符串");
Scanner sc = new Scanner(System.in);
String string = sc.nextLine();
return string;
}
// 输入要查询的子串
public String inputZi() {
System.out.println("请输入要查询的子串");
Scanner sc = new Scanner(System.in);
String string1 = sc.nextLine();
return string1;
}
public void check(String s, String s1) {
String s2;
int count = 0;
for (int i = 0; i <= s.length() - s1.length(); i = i + s1.length()) {
boolean b = false;
// 如果当i == s.length() - s1.length()的时候 如果再调用substring(a,b)来取值的话
// 会造成i+s1.lenght>s.length的情况
// 所以就用s.substring(i)取值
if (i == s.length() - s1.length()) {
s2 = s.substring(i);
}
// substring(a,b) 是指从string中的a位置开始 取出到b位置的值(不包括b的位置的值)
s2 = s.substring(i, i + s1.length());
b = s1.equalsIgnoreCase(s2);
if (b) {
count++;
}
}
System.out.println(count);
}
public static void main(String[] args) {
java49 test = new java49();
String s1 = test.inputString();
String s2 = test.inputZi();
test.check(s1, s2);
}
}