1. 程式人生 > >程式49:計算字串中子串出現的次數

程式49:計算字串中子串出現的次數

題目:計算字串中子串出現的次數

程式碼如下:

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);
	}
}