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

请问是什么问题


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++) { // 循环遍历数组中的元素

        // 如果当前值大于max,则替换max的值

if(nums[i]<nums[i+1])

            {

                max=nums[i+1];

            }

        if(nums[i]>nums[i+1])

        {

            min=nums[i+1];

        }

        sum=sum+nums[i];

        

        // 如果当前值小于min,则替换min的值

        

        

        

        // 累加求和

        

        

}

        

        // 求平均值

       avg=sum/7;

        

System.out.println("数组中的最大值:" + max);

System.out.println("数组中的最小值:" + min);

System.out.println("数组中的平均值:" + avg);

}

}

正在回答

2 回答

这个错误的含义是数组越界,数组元素总共有7个,当i=6时,就已经是第7个元素了,但是你的if(nums[i]<nums[i+1])就变成了if(nums[6]<nums[7])已经越界了,咱可以这样改,if(nums[i]>=max)
            max=nums[i];
    if(nums[i]<=min)
            min=nums[i];

这样就可以正确答案了

0 回复 有任何疑惑可以回复我~
#1

qq_上天入地的小空空_0 提问者

非常感谢!
2017-02-23 回复 有任何疑惑可以回复我~

http://img1.sycdn.imooc.com//58abc1bc0001714905760070.jpg就是这个样

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)
  • 参与学习       1167945    人
  • 解答问题       18750    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

请问是什么问题

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号