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

若把nums[i]和min/max调换位置卫生结果就是错的

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]+sum;

        

}

        

        // 求平均值

       avg=sum/nums.length;

        System.out.println("数组中的总和:" + sum);

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

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

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

}

}

{min=nums[i];}

{max=nums[i];}

把nums[i]和min、max调换位置结果为什么是错的

正在回答

3 回答

if(max>nums[i])

        {max=nums[i];}   //max取得是最小值 max=nums[0] nums[0]>nums[i]  取得是比初始值还小的值 一直比较最后得到最小值 ;下面同理

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

if(min<nums[i])

        {min=nums[i];}


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

if(max<nums[i])

        {max=nums[i];}

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

if(min>nums[i])

        {min=nums[i];}

并没有错呀 max和min初始都等于nums[0] 要把每一个值都和nums[i]比较 要不大于max要不小于min

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

数字串字符会掩盖除61的其他字符,导致所有数字一样

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

举报

0/150
提交
取消

若把nums[i]和min/max调换位置卫生结果就是错的

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

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

帮助反馈 APP下载

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

公众号

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