日期:2014-05-20  浏览次数:20741 次

报异常求解释!
public class CeShi{
public static void main(String[] args){
String  a = "java";
int count = 0;
int index = -1;
String str = "sunjavahpjavaokjavajavaandjavahahajavagoodjava";
/*String str = "sunjavahpjavaokjavajavahahajavagoodjava";
在字符串中多加了一个javaand就报异常,如果不加and就不会报错*/
System.out.println(str.indexOf(a));

while((index = str.indexOf(a))!= -1){
str = str.substring(index+str.indexOf(a));
count++;
}
System.out.println(count);
}
}


查找了大量资料都没有弄懂,求大神指点一下,本人自学不容易啊!

------解决方案--------------------
代码写错了,贴上代码
package csdn.programbbs_627;
public class CeShi{
public static void main(String[] args){
String  a = "java";
int count = 0;
int index = -1;
String str = "sunjavahpjavaokjavajavaandjavahahajavagoodjava";
/*String str = "sunjavahpjavaokjavajavahahajavagoodjava";
在字符串中多加了一个javaand就报异常,如果不加and就不会报错*/
System.out.println(str.indexOf(a));

while((index = str.indexOf(a))!= -1){
str = str.substring(a.length() + str.indexOf(a));
count++;
System.out.print(index + " ");
}
System.out.println();
System.out.println("The count: " + count);
}
}

------解决方案--------------------
你的逻辑好像有问题,
比如 "aaa".substring(5),肯定要报错的。。。
关键你想实现什么样的功能。。。