9-2Java常用类----(2)String算法练习2

9-2Java常用类----(2)练习2

题目:获取一个字符串在另一个字符串中出现的次数。
比如:获取“ab”在 “abkkcadkabkebfkaabkskab” 中出现的次数

代码:

package exer1;

import org.junit.Test;

//获取一个字符串在另一个字符串中出现的次数。
public class StringDemo1 {
 
    //获取subStr在mainStr中出现的次数
    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 = "abkkcadkabkebfkaabkskab";
        String subStr = "ab";
        int count = getCount(mainStr, subStr);
        System.out.println(count);
    }
}

输出:

4
上一篇:1091 N-自守数 (15 分)


下一篇:重拾JAVA基础10——String常用方法