这样输出的结果最小值为什么是20??

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[0]){
            max=nums[i];
        }
        
        
        // 如果当前值小于min,则替换min的值
        else{
            min=nums[i];
        }
        
        
        // 累加求和
        sum=sum+nums[i];
        
        }
        
        // 求平均值
       avg=sum/nums.length;
        
        System.out.println("数组中的最大值:" + max);
        System.out.println("数组中的最小值:" + min);
        System.out.println("数组中的平均值:" + avg);

潇洒哥8920
浏览 1420回答 3
3回答

JjayG

if(nums[i] >= max ){      max = nums[i];   }else if (nums[i] <= min){      min = nums[i];   }

慕仰6579062

打错了,应该是num[0]

慕仰6579062

第一个if表达式,num〔i〕应该为max这个变量,后面最小值应该判断和min的大小关系,而不是直接赋值
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java