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

// 求平均值 avg=sum/(nums.length);

  // 求平均值

  avg=sum/(nums.length);

这段代码替换成

  avg=sum/(i+1); 不行吗?


提问者:沈阳找工作web前端方向 2016-01-23 20:50

个回答

  • 雨中踏步
    2016-02-03 09:52:42

    i定义到for循环外面  才能使用

    int i = 0;

    for (; i < nums.length; i++) 

      avg=sum/i;


  • sy302012
    2016-01-23 21:03:29

    avg=sum/i

  • jlran
    2016-01-23 21:01:58

    看具体情况,我觉得你是在循坏外面吧,应该是 avg = sum / i ; 这样就可以了,因为 i 已经 +1 了, 此处不需要再加。如果考虑到转换 , 可能还需要类型转换一下, 从 int  型 转换到 double or float 型。

  • 只手星海
    2016-01-23 21:01:44

    i是什么?length是求了nums的个数,用总数除以个数才是平均值啊

  • danteliujie
    2016-01-23 20:59:47

    不行,

    1. 这个时候i已经是7了,加1就不对了,可以改成avg=sum/i;

    2. 用nums.length比较好,这样比较通用的写法