首先鍵盤錄入2個字符串
A:定義一個統計變量=0;
B:在大串中查找小串是否存在,用 int indexOf(String str):返回指定字符在此字符串中第一次出現處的索引。
a:若是返回的索引值是-1,則說明 大串中並不存在這個小串,輸出統計變量
b:返回的若不是-1,則是這個小串的第一個字符在大串中的索引,這個時候統計變量++
C:從獲得的索引開始,再加上小串的長度,到字符串的最後,開始截取一個新的字符串,再把這個字符串賦值給大串,替換以前的大串
String substring(int start):從指定位置開始截取字符串,默認到末尾。
D:再次從B開始循環,直到獲得的新字符串沒有了這個小串,也就是B中的a
以上分析定義爲一個方法,方法的兩個要素:
a:返回值:int
b:參數列表:兩個字符串,大串和小串java
package stringTest; import java.util.Scanner; public class StringSubstringTest { public static int getCount(String max,String min){ int count=0; int index; while ((index=max.indexOf(min))!=-1) { count++; max=max.substring(max.indexOf(min)+min.length()); } return count ; } public static void main(String[] args) { Scanner scanner=new Scanner(System.in); System.out.println("輸入大串"); String maxString=scanner.nextLine(); System.out.println("輸入小串"); String minString=scanner.nextLine(); int count = getCount(maxString,minString); System.out.println(minString+"在"+maxString+"中出現了"+count+"次"); } }
indexof()返回的是起始的下標spa
substring(beginindex,endindex),截前不截後code