标签:
package cn.lianxi; public class Count { /* * 统计大串中小串出现的次数 * 举例:在字符串“woaijavawozhendeaijavawozhendejava” * 结果; * java出现了5次 * * 分析: * 前提知道了大串和小串 * 1.定义一个统计变量,初始化值是0; * 2.先在大串中查找一次小串第一次出现的位置 * a.索引是-1,说明不存在了,就返回统计变量 * b.索引不是-1,说明存在,统计变量++ * 3.把刚才的索引+小串的长度作为开始位置进行截取 * 返回一个新的字符串,并把该字符串的值重新赋值给大串 * 4.回到2 * */ public static void main(String[] args) { String maxString = "woaijavawozhenjavadeaijavawozhjavaendejava"; String minString = "java"; int count = getCount(maxString,minString); System.out.println("子串出现的次数是:"+count); } public static int getCount(String maxString,String minString){ //定义一个统计变量,初始化值是0 int count = 0; //先在大串中查找一次小串第一次出现的位置 int index = maxString.indexOf(minString); //索引是-1,说明不存在了,就返回统计变量 while(index != -1){ count++; //把刚才的索引+小串的长度作为开始位置进行截取 //返回一个新的字符串,并把字符串重新赋值给大串 //int startIndex = index + minString.length(); //maxString = maxString.substring(startIndex); //以上两行代码可优化为 maxString = maxString.substring(index + minString.length()); //继续查 index = maxString.indexOf(minString); } return count; } }
标签:
原文地址:http://www.cnblogs.com/Deleting/p/5068692.html