public class StringTest5 {

    //题目5: 统计一个字符串在另一个字符串中出现的次数

    public static void main(String[] args) {

        String orgStr = "inbai.net~~hellow inbai,你好inbai,尹哥你好";
        String findStr = "inbai";

        int count = count(orgStr, findStr); //结果应该是3

        System.out.println(count);

    }


    /**
     * 统计findStr在orgStr中出现的次数。
     *
     * @param orgStr  原字符串
     * @param findStr 查找的字符串
     * @return
     *
     * 原理分析:
     *          orgStr.indexOf(findStr) 方法, 默认会找出orgStr中的第一个findStr的位置
     *          找到之后,截取:    orgStr.substring(orgStr.indexOf(findStr) + findStr.length());
     *                  这个截取,是从第一个findStr的出现位置, 截取到orgStr的最后一个字符
     *
     *                  然后重复上面的操作,while循环里每一个计数器加1
     */
    public static int count(String orgStr, String findStr) {
        int count = 0;
        while (orgStr.indexOf(findStr) != -1) {
            count++;
            orgStr = orgStr.substring(orgStr.indexOf(findStr) + findStr.length());
        }
        return count;
    }
}