本帖最后由 追逐 于 2014-3-21 19:32 编辑
/*
3,获取一个字符串在另一个字符串中出现的次数。
"abkkedfkkskka"
思路:
1,定义一个计数器
2,获取kk第一次出现的位置。
3,从第一次出现位置偶剩余的字符串中继续获取kk出现的位置。
每获取一次就计数一次。
4,当获取不到时,技术完成
*/
- class ChaZhaoTest
- {
- public static void main(String[] args)
- {
- String s = "abkkedfkkskkakk";
- System.out.println(getSubString(s, "kk"));
- }
- //获取一个子字符串在字符串中出现的次数 方法一
- public static int getSubString(String str, String key) //str要传入的参数字符串 key要被查找的字符串
- {
- int count = 0; //计数器
- int index = 0; //记录角标位
- while((index = str.indexOf(key))!= -1) //str.indexOf(key)是查找要被查找的字符串的起始位,只要不等于-1就代表里面还有字符
- {
- count++; //记录出现的次数
- //substing获取一个从index+key.length()角标位开始的子字符串
- str = str.substring(index + key.length());
- }
- return count;
- }
-
- //获取一个子字符串在字符串中出现的次数 方法二
- public static int getSubString_1(String str, String key)
- {
- int count = 0; //计数器
- int index = 0; //记录角标位
- while((index = str.indexOf(key, index)) != -1) //indexOf(key, index)key代表要被查找的字符串。index代表下一个角标位的开始角标位
- {
- index = index + key.length(); //index是要查找字符串的起始位。计算key字符串的长度。并加上查找字符串的起始位
- count++;
- }
- return count;
- }
- }
复制代码
|
|