对于以下某个代码段,我遇到了运行时异常。
public class Demo {
public static void main(String[] args) {
String org="This is the new shit.This is the new.";
String search="is";
String sub="was";
int i;
String result="";
do{
i=org.indexOf(search);
if(i==-1)
break;
result=result+org.substring(0,i);
result=result+sub;
result=result+org.substring(i+search.length());
org=result;
}while(i!=-1);
System.out.println(org);
}
}
抛出的异常如下:
at java.util.Arrays.copyOfRange(Unknown Source)
at java.lang.String.<init>(Unknown Source)
at java.lang.StringBuilder.toString(Unknown Source)
at strings.Demo.main(Demo.java:16)
任何人都可以告诉为什么会抛出这个异常。
答案 0 :(得分:1)
您的循环永远不会结束,因为您没有将结果重置为“”
result = "";
在循环结束时将执行技巧