为了账号安全,请及时绑定邮箱和手机立即绑定

我不知道哪错了,求大神

我不知道哪错了,求大神

曹峻璘 2017-02-20 17:59:47
public class HelloWorld {        public static void main(String[] args) {          // 定义一个整型数组,并赋初值  int[] nums = new int[] { 61, 23, 4, 74, 13, 148, 20 };          int max = nums[0]; // 假定最大值为数组中的第一个元素  int min = nums[0]; // 假定最小值为数组中的第一个元素  double sum = 0;// 累加值  double avg = 0;// 平均值          for (int i = 0; i < nums.length; i++) { // 循环遍历数组中的元素        if(nums[i+1]>max){            max=nums[i+1];            }else if(nums[i+1]<min){                min=nums[i+1];                }else{                    sum=sum+nums[i+1];                    }// 如果当前值大于max,则替换max的值  }  sum=sum+max+min;  avg=sum/nums.length;                        // 如果当前值小于min,则替换min的值                                // 累加求和                                  // 求平均值                 System.out.println("数组中的最大值:" + max);  System.out.println("数组中的最小值:" + min);  System.out.println("数组中的平均值:" + avg); }}
查看完整描述

10 回答

?
風雨兼程

TA贡献10条经验 获得超26个赞

for最后一次循环时,i=nums.length=6,所以i+1=7,nums[i+1]超出了数组长度,所以会报ArrayIndexOutofBoundary异常!                            

查看完整回答
6 反对 回复 2017-02-20
  • 風雨兼程
    風雨兼程
    说错了,最后一次循环时i=6,i+1=7,不过还是数组角标越界异常!
?
爱他猫儿

TA贡献1条经验 获得超1个赞

超出了索引范围,当i取nums.Length - 1时, i + 1超出了数组的索引范围
//img1.sycdn.imooc.com//58abaed80001916305770465.jpg

查看完整回答
1 反对 回复 2017-02-21
?
土地luminous

TA贡献1条经验 获得超1个赞

你这数组越界了吧,nums[i+1]这里越界了,想简单改的话就是把for循环中的 i < nums.length-1;就可以了

查看完整回答
1 反对 回复 2017-02-20
?
慕少3946439

TA贡献1条经验 获得超0个赞

else{ sum=sum+nums[i+1]; } 我想你不能这样写,你想啊,如果数组是1,2,3,4,5,6,7的话 max是为7了min是为1了 但是中间的数却没有付给sum最后sum只会是max+min
查看完整回答
反对 回复 2017-02-21
?
_GoldenRain

TA贡献13条经验 获得超21个赞

//img1.sycdn.imooc.com//58ac07d900014c4d08430412.jpg看看这个地方,如果达到数组的最终长度,而你又加了1,是不是就越界了?你说会不会报异常?OK?

查看完整回答
反对 回复 2017-02-21
?
plainmaple3432682

TA贡献2条经验 获得超0个赞

<arr.length-1
查看完整回答
反对 回复 2017-02-21
?
曹峻璘

TA贡献2条经验 获得超0个赞

数组中的最大值:148
数组中的最小值:4
数组中的平均值:35.1428571428

查看完整回答
反对 回复 2017-02-20
?
曹峻璘

TA贡献2条经验 获得超0个赞

去掉就行了吗?

查看完整回答
反对 回复 2017-02-20
?
Caballarii

TA贡献1123条经验 获得超629个赞

把所有i+1的+1去掉,没事你干嘛+1?

查看完整回答
反对 回复 2017-02-20
  • 10 回答
  • 0 关注
  • 1893 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信