关于数组的一个问题

polaris_chow 2007-10-08 10:07:42
int[] eggs={1,2,3,4,5};
int[] ham=new int[]{77,96};
ham=eggs;
ham[3]=0;
for(int i:ham){
System.out.println(ham[i]);
}
上面这段程序运行后输出如下:
2
3
0
1
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
at doItMyself.TestArray.main(TestArray.java:73)
哪位高手能给解释一下么?
...全文
103 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
a68020405ybcoomy 2007-10-08
  • 打赏
  • 举报
回复
新的for循环语法为for(数组字段类型;数组名)
System.out.print(数组字段类型);
lihaifeng0412 2007-10-08
  • 打赏
  • 举报
回复
同意
  • 打赏
  • 举报
回复
for(int i : ham){ 
System.out.println(ham[i]);
}


关键是你没有理解 foreach 循环,i 是 ham 数组中的元素而不是下标,改成这样就可以了:

for(int i : ham){ 
System.out.println(i);
}
polaris_chow 2007-10-08
  • 打赏
  • 举报
回复
我的意思是说为什么回出现下标溢出?
ygh1980 2007-10-08
  • 打赏
  • 举报
回复
ArrayIndexOutOfBoundsException 下标溢出

62,623

社区成员

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

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