请问为什么会报错?

来源:6-6 编程练习

精慕门5388277

2019-12-06 22:35

http://img1.mukewang.com/5dea66db0001767518450861.jpg感觉代码没有问题,为什么会出错?

写回答 关注

3回答

  • 慕仔4356748
    2020-05-07 11:29:06

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

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

        {

            min=nums[i];

        }

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

  • c初见
    2019-12-15 16:26:06

    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);

        }

    }

  • 钱君博
    2019-12-07 11:48:07

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

Java入门第一季(IDEA工具)升级版

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

1165172 学习 · 17581 问题

查看课程

相似问题