黑马程序员技术交流社区

标题: 数组问题! [打印本页]

作者: 袁振龙    时间: 2013-4-15 23:09
标题: 数组问题!
本帖最后由 袁振龙 于 2013-4-16 08:00 编辑

//老师让班长统计学生成绩,并计算全班学生(5个学生)的平均成绩然后把所有成绩显示出来


}1(TWXZGBW%8~9RJDBF8E7S.jpg (67.78 KB, 下载次数: 45)

}1(TWXZGBW%8~9RJDBF8E7S.jpg

APF]%J(TQXV4~8YC7{TK4VY.jpg (52.45 KB, 下载次数: 34)

APF]%J(TQXV4~8YC7{TK4VY.jpg

作者: 林声荣    时间: 2013-4-15 23:23
数组角标越界
for循环出错了,应该为for(int i=0;i<socre.length;i++);应为比将数组socre长度初始化为5,而数组的角标是以0开头的
作者: 陈志盟    时间: 2013-4-15 23:34
for(int i=0;i<socre.length;i++);
i应该是小于数组的,如果加个等于,for就会遍历6遍,这样就超出数组的长度了。
作者: 周一川    时间: 2013-4-15 23:49
是的for循环是错了score初始化值为5, 而数组的角标从0开始,那么<=要等于score这个值,会角标越界
作者: 李广水    时间: 2013-4-16 03:36
数组 score中的i取值范围是0~4,score.Length的值是5,所以for(int i=0;i<score.Length;i++)
作者: 清朗的晨风    时间: 2013-4-17 13:33
第一个for循环应该是 for(int i=0;i<socre.length;i++);
socre 数组长度虽然为5,但是数组下标是从0开始算的,所以长度为N的数组,最后一个数组元素下边为N-1;而你原本的for循环 i<=socre.length;超出了数组界限。
关于数组界限一定要小心。
作者: 陈培茹    时间: 2013-4-17 13:56
你定义的数组长度是5,然而在for循环当中是从0开始的经过循环之后一直当i=6时才跳出循环,也就是超过了数组的界限。应该for(i=0;i<console.length;i++).希望能够帮的到你{:soso_e176:}
作者: zerochen46    时间: 2013-4-17 14:51
i 不能等于数组的长度,因为一个数组最大的下标是数组的长度减1,如果超过就会报异常




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2