猿问

在什么情况下会报这种异常java.lang.StringIndexOutOfBoundsException

int cc=1;

char v;

while(cc>0){

//先获取一个字符的索引

v=str.charAt(0);

cc=str.length();

str=str.replaceAll(String.valueOf(v), "");

cc=cc-str.length();

System.out.println(v+":"+cc+"次");

}

运行功能正常,但为什么会报StringIndexOutOfBoundsException?

断桥1
浏览 2362回答 4
4回答

blovetu

下标越界,如果运行正常的话,那应该就是最后一句报错了

说好的幸福626

角标越界

Aaaa64

角标越界

断桥1

while(cc>0){//先获取一个字符的索引会不会是当循环执行到字符串的长度为零时,由于cc此时是大于零的数,所以在继续循环的时候,因为str里已经没有字符串了,所以当返回索引为零的字符时会越界?
随时随地看视频慕课网APP

相关分类

Java
我要回答