关于索引越界,请教大家了

beenylee 2007-08-23 09:34:08
Alone6_2[] ob=new Alone6_2[10];
ob[0]=new Alone6_2();
ob[1]=new Alone6_2();
ob[2]=new Alone6_2();
ob[3]=new Alone6_2();
ob[0].a=1;
ob[0].b=2;


//看这个for循环
for(int i=0;i<4;i++){
ob[i+1].a=ob[i].a+ob[i].b;
ob[i+1].b=ob[i].a+ob[i].b;
}

报错.当把循环条件改成i<3则成功执行.在这个for循环中,当i=4的时候不符合条件i<4,不是就不会再执行循环体了吗?为何还会报错呢?
...全文
202 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
beenylee 2007-08-23
  • 打赏
  • 举报
回复
好汗..刚提问完就发现了.
仍然谢谢楼上的.
给分.
andycpp 2007-08-23
  • 打赏
  • 举报
回复
ob[i+1]啊 i=3 则i+1=4
你的数组到ob[3]就到头了 数组越界

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧