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

哪里错了啊,为啥最大值和最小值都等于数组里最后一个值,且最大值最小值相等

public class HelloWorld1 

{   

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 = sum + nums[i];

}

        // 求平均值

        avg = sum / nums.length;      

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

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

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

}

}


提问者:街舞 2016-08-21 21:58

个回答

  • 慕粉3851877
    2016-08-21 22:07:17
    已采纳

    最好用编译器找,网页带的编译器提示有点少。

  • 街舞
    2016-08-21 22:05:49

    找到了

    1. if 后没有分号

    2. 最小值处应为if(nums[i] < min)

    看来我还是不够仔细啊。。。