问答详情
源自:6-6 编程练习

为什么运行对了,输出结果不对

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

提问者:慕盖茨0308912 2018-11-10 15:51

个回答

  • 心念阳
    2019-05-11 19:56:45

    别用do。。while,do...while时先执行后检查判断,你每次遍历时,都把遍历的值赋给了max和min,一开始就错了