首页 > 代码库 > java基础知识回顾之---java String final类普通方法的应用之“子串在整串中出现的次数”

java基础知识回顾之---java String final类普通方法的应用之“子串在整串中出现的次数”

/*
 * 2 一个子串在整串中出现的次数。
 * "loveerlovetyloveuiloveoplove"
 * 思路:
 * 1,要找的子串是否存在,如果存在获取其出现的位置。这个可以使用indexOf完成。
 * 2,如果找到了,那么就记录出现的位置并在剩余的字符串中继续查找该子串,
 * 而剩余字符串的起始位是出现位置+子串的长度.
 * 3,以此类推,通过循环完成查找,如果找不到就是-1,并对 每次找到用计数器记录。
 * 使用 indexOf()获取某个字符子串在整串中的位置,还使用到subString(int index);函数,截取剩余的子串
 */

public class StringTest_2 {    /**     * @param args     */    public static void main(String[] args) {        String str = "loveerlovetyloveuiloveoplove";        String key = "love";
/*System.out.println("$$$$$$$$$$"+str.indexOf(key,0));
System.out.println(key.length());System.out.println("$$$$$$$$$$"+str.indexOf(key,4));
*/ int count = getKeyStringCount_lp(str,key); System.out.println("count="+count); } public static int getKeyStringCount_lp(String str,String key){ //定义key在字符串中出现的位置 int index = 0; //定义计数器 int count = 0; while((index=str.indexOf(key, index)) != -1){//找到了子串,返回子串的位置 str = str.substring(index+key.length());//从剩余的子串当中继续找 //System.out.println(str);//打印剩余的子串 count++;//记录找到多少个子串 } return count; }}