| 
 
| 本帖最后由 追逐 于 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;
        }
}
 
 | 
 |