为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

断桥1 2016-07-09 15:28:42
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?
查看完整描述

4 回答

已采纳
?
blovetu

TA贡献319条经验 获得超234个赞

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

查看完整回答
反对 回复 2016-07-09
  • 断桥1
    断桥1
    循环条件写错了,最后一次循环的时候str里已经没有字符串了,所以下标写几都越界
  • blovetu
    blovetu
    哦~~~
?
说好的幸福626

TA贡献11条经验 获得超1个赞

角标越界

查看完整回答
1 反对 回复 2016-07-10
?
Aaaa64

TA贡献9条经验 获得超0个赞

角标越界

查看完整回答
反对 回复 2016-07-11
?
断桥1

TA贡献4条经验 获得超2个赞

while(cc>0){

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

会不会是当循环执行到字符串的长度为零时,由于cc此时是大于零的数,所以在继续循环的时候,因为str里已经没有字符串了,所以当返回索引为零的字符时会越界?

查看完整回答
反对 回复 2016-07-09
  • 4 回答
  • 3 关注
  • 2360 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信