你看看这个:原因我在代码中有解释- package com.itheima;
- class MyMenuDemo {
- public static int getTimes2(String s, String key) {
- int count = 0;
- int index = s.indexOf(key);
- while (index != -1) {
- System.out.println("s=" + s);
- s = s.substring(index + key.length());
- index=s.indexOf(key);/*我在你源码的基础上加了这句话,如果不加这句index的值一直是2
- "index + key.length()"这个式子的值一直是4(相当于一直substring(4,length()-1))
- 执行4次后s变成:“de”,再执行一次就会报空指针异常了(因为长度现在是2,没有角标4)
- */
- count++;
- }
-
- return count;
- }
- public static void main(String[] args) {
- String s = "abkkcdkkefkkskksde"; //
- int count = getTimes2(s, "kk");
- System.out.println("count=" + count);
- }
- }
复制代码 |