Java题第6题为什么选择B啊?为什么是数组越界啊?

 我来答
寂寞但要笑
2016-01-04 · TA获得超过124个赞
知道答主
回答量:132
采纳率:0%
帮助的人:68.5万
展开全部
首先数组只有5个元素, 定义size变量大小为6; 所以肯定越界(ArrayIndexOutOfBoundsException)
第二,程序抛出异常后,一共三个catch代码块,第一个异常不是当前异常的类型,第三个是Exception类型是所有异常的父类,符合所有异常(只能放在最后才有意义) , 第二正是当前异常的类型,所以会呗第二个catch代码块捕获到; 所以 答案会输出 Catch--2 所以选B
渡小爷
2016-01-04 · 超过14用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:30.5万
展开全部
Try语句块中的最后一次时i为5,而数组的最大下标只有4,所以数组越界,系统抛出一个越界异常,由catch捕捉
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
GTA小鸡
高粉答主

2016-01-04 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.6万
采纳率:78%
帮助的人:1.3亿
展开全部
这个数组只有5个元素,循环时size却被定义为6,自然越界。
更多追问追答
追问
我还想问一下直接写Exception是什么问题啊?
追答
凡是不在上文定义中的异常都交由Exception处理。类似于switch语句,凡是不在case中的情况都交由default处理。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
anglewang98
2016-01-04 · TA获得超过535个赞
知道小有建树答主
回答量:420
采纳率:80%
帮助的人:284万
展开全部
int[] array = {2,4,6,8,10};//说明数组深度为5,
int size=6
for(int i=0;i<size;i++)//说明循环6次。
if(array[i]==20)//在第6次循环时是array[5],此时肯定取不到值,就抛ArrayIndexOutOfBoundsException了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式