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

时间:2024-01-04 09:35:32

/*
 * 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;
}
}