Java 练习(获取一个字符串在另一个字符串中的出现次数)

package com.klvchen.exer;

import org.junit.Test;

public class StringDemo1 {
    /*
    获取一个字符串在另一个字符串中的出现次数。
    比如:获取 "ab" 在 "abkkcadkabkebfkabkskab" 中出现的次数
     */

    public int getCount(String mainStr, String subStr){
        int mainLength = mainStr.length();
        int subLength = subStr.length();
        int count = 0;
        int index = 0;

        if (mainLength >= subLength){

            //方式一:
//            while ((index = mainStr.indexOf(subStr)) != -1){
//                count++;
//                mainStr = mainStr.substring(index + subStr.length());
//            }
            //方式一的改进
            while ((index = mainStr.indexOf(subStr, index)) != -1){
                count++;
                index += subLength;
            }

            return count;
        }else {
            return 0;
        }
    }

    @Test
    public void testGetCount(){
        String mainStr = "abkkcadkabkebfkabkskab";
        String subStr = "ab";
        int count = getCount(mainStr, subStr);
        System.out.println(count);
    }
}

posted @ 2021-09-02 17:26  klvchen  阅读(458)  评论(0编辑  收藏  举报