public class test{ public static void main(String[] args){ String s1 = "helloworldasdfasdjavaasdfasdfajavaasdfafjavaadff"; String sToFind = "java"; int cout = 0; int index = -1; //标记,发现后的索引号,没发现则为-1查api可以看见 while ((index = s1.indexOf(sToFind)) != 1){ s1 = s1.substring(index + sToFind.length());//去除从开始到发现Java的字符取后面的字符
cout++; } System.out.println(cout);//调试出现问题
结果为
D:\java>javac test.java
D:\java>java test
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String ind
ex out of range: -2
at java.lang.String.substring(Unknown Source)
at java.lang.String.substring(Unknown Source)
at test.main(test.java:14)
D:\java>