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

正在回答

3 回答

i的最大值是nums[]的长度,i+1会超过数组长度而导致数组越界,换成i就可以运行了。但是你的程序本身有问题,

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

    {

        min=nums[i];

    }

//nums[i]是不可能<它本身的这个if白写,它里面的不会运行

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

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]>max){

        max=nums[i];

                }

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

        if(nums[i]<min){

            min=nums[i];

                }

        // 累加求和

        sum+=nums[i];

    }

         // 求平均值

       avg=sum/(nums.length); 

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

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

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

    }

}

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

为什么21行还要加上min=nums[i+1]

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

举报

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

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

进入课程

请问为什么会报错?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信