" java.lang.ArrayIndexOutOfBoundsException:4错误。

publicclassprc10{publicstaticvoidmain(String[]args)throwsException{doublearr[]=newdou... public class prc10
{
public static void main(String[] args) throws Exception
{
double arr[] = new double[]{1.2,23,5,28};
for(int i=0;i<5;i++)
{
if(arr[i]<0)
{
System.out.println("含有非正数。");
break;
}
}
System.out.println("不含有非正数。");
}
}
编译运行后会有题目所示错误,第十一行, if(arr[i]<0),这有什么错误啊。。为什么会有超出范围呢。
展开
 我来答
herox_hu
2013-12-09 · TA获得超过776个赞
知道小有建树答主
回答量:1122
采纳率:0%
帮助的人:322万
展开全部
for(int i=0;i<5;i++)
因为数组长度是4,而数组是从0开始的,
你这里i最大等于4,而arr[4]超出了数组长度
所以报错了。
最好这么写for(int i=0;i<arr.length;i++)
思念不及
2013-12-09 · 超过35用户采纳过TA的回答
知道答主
回答量:135
采纳率:0%
帮助的人:51.6万
展开全部
new double[]{1.2,23,5,28};

索引: 0 对应 1.2
1 对应 23

2 对应 5

3 对应28
for(int i=0;i<5;i++)

循环结果 : 0 、1 、2 、3 、4
自己好好想想吧。这问题不应该问。有些问题自己想明白了才是真理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2013-12-09 · TA获得超过1243个赞
知道小有建树答主
回答量:2126
采纳率:55%
帮助的人:673万
展开全部
for(int i=0;i<5;i++)
~~~~~~~~~`
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式