平均值不对

来源:6-6 编程练习

utopiashow

2015-03-12 22:37

总和 sum+=nums[i]; 平均值 avg=sum/7;.............为什么会出现avg结果(数组中的平均值:44.714285714285715)

写回答 关注

6回答

  • 小肠杆君
    2015-03-20 16:52:29
    已采纳

    你直接将数组里的元素进行了修改,已经不再是最开始的数组了,平均数当然是错的。

    utopia...

    非常感谢!

    2015-03-22 22:50:53

    共 4 条回复 >

  • utopiashow
    2015-03-15 21:35:37

    嗯。一开始是这么写的,后来结果错误。又改成了7结果还是一样的。。。nums[i].length=7吧??

  • hj楚ing
    2015-03-15 13:35:36

    avg = sum / nums[i].length;

  • utopiashow
    2015-03-14 17:02:18

    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++) { // 循环遍历数组中的元素    System.out.println(nums[i]);

            // 如果当前值大于max,则替换max的值

    if(nums[i]>max){

            int temp=nums[i];

            nums[i]=max;

            max=temp;

    }

                    

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

         if(nums[i]<min){

            int temp=nums[i]; 

            nums[i]=min;

            min=temp;

         }      

            // 累加求和

            sum+=nums[i];

            

    }  

            // 求平均值

            avg=sum/7;

            

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

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

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

    }

    }


    放学路上的小...

    哈哈,你是学过C语言的吧?这是如果这个数比当前数大,则替换掉。冒泡排序法~~

    2015-04-19 11:43:27

    共 1 条回复 >

  • utopiashow
    2015-03-14 17:00:07

    为什么我的浏览器不支持ctrl+v。。。崩溃了

  • 康振宁
    2015-03-13 09:15:23

    你把你整段的代码贴出来看看?

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

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

1165554 学习 · 17587 问题

查看课程

相似问题