黑马程序员技术交流社区
标题:
数组练习出错,求指导
[打印本页]
作者:
李明贵
时间:
2012-10-19 15:44
标题:
数组练习出错,求指导
看视频自学到数组,做下练习出错了,求指导
int[] number ={ 13, 25, 123, 46, 684, 20, 13, 254, 16 };
int max=0,min=0,sum=0,ave=0,i=0;
for (i = 0; i <=number.Length; i++)
{
if (max < number[i])
{
max = number[i];
}
if (min > number[i])
{
min = number[i];
}
sum = sum + number[i];
}
ave = sum / number.Length;
Console.WriteLine("这个数组的最大值是{0},最小值是{1},和是{2},平均值是{3}",max,min,sum,ave);
Console.ReadKey();
作者:
颜晋南
时间:
2012-10-19 17:12
for (i = 0; i <=number.Length; i++)
这里的小于等于错了吧。会越界的。
作者:
穆_升
时间:
2012-10-19 17:33
把for循环里面的 i <= number.Length 改成 i < number.Length
原因是计数器i是从0开始的,和数组的下标相对应,而number.Length则是从1开始的,当然就会报错了.
在该例中,数组有9个元素,但下标为0-8,共9个,而for从0开始循环,加等号就等于要循环10次,但找不到数组中第10个数组的元素,所以报错.
作者:
李明贵
时间:
2012-10-19 17:51
哦,谢谢啦
作者:
李明贵
时间:
2012-10-19 18:29
这还有一个错误:min一开始不能赋值为0,否则最小值成0了,应该改成 min=number[0]
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2