为什么平均值不对

来源:6-6 编程练习

qq_瞳孔一抹蓝_04076840

2016-11-08 11:39

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

}

        // 求平均值

       avg=sum/nums.length;

        

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

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

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

}

    }


为什么平均值是0.0,不是49.0???

写回答 关注

2回答

  • 强迫症的小纠结
    2016-11-08 12:56:40
    已采纳

    //累加求和

    sum=sum++;

    上面你已经定义了sum=0所以你这里的代码是0累加了数组的长度次,应该改为sum+=nums[i];


    qq_瞳孔一...

    恩恩,谢谢,就是这个问题,改了就通过了

    2016-11-17 20:35:48

    共 1 条回复 >

  • 慕函数4910142
    2016-11-11 15:19:39

    你移动下

           avg=sum/nums.length;

            

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

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

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

    输出位置到下一个}下就可以

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

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

1167575 学习 · 18748 问题

查看课程

相似问题