【问题标题】:How to return the average of the values stored in an Integer array?如何返回存储在整数数组中的值的平均值?
【发布时间】:2015-09-10 05:43:04
【问题描述】:

指令是

实现方法public static double avg(int[][] a),它返回存储在a 中的值的平均值。

所以,我想我得写了

public static double avg(int[][] a) { // two dimensional arrays?
  // some codes
  return a;
}

我不明白这句话“返回存储在 a 中的值的平均值”。当我什至不知道存储在a 中的值时,如何获得平均值?

【问题讨论】:

  • 将所有值相加并计算平均值...

标签: java arrays average


【解决方案1】:

该函数将二维数组作为参数。我相信您应该在 a 上执行 2 个 for 循环并对每个项目求和,然后除以最后的总项目数(平均值)。然后返回你的双(平均)变量,而不是像你的代码显示的那样返回 a 。

【讨论】:

    【解决方案2】:

    是的,我同意大卫的观点, 您将需要 2 个嵌套的 for 循环来添加所有值并返回它。

    类似...

    public static double avg(int [][] a)
        {
            double sum = 0;
            int total = 0;
            for(int i = 0; i < a.length; i++){
                total += a[i].length;
                for (int j = 0; j < a[i].length; j++){
                    sum+=a[i][j];
                }
            }
            return sum/total;
        }
    

    然后将总和除以元素的数量。

    【讨论】:

      【解决方案3】:

      使用双数组,您必须遍历所有项目。 该程序将计算数组中值的数量并对所有值求和。 要获得平均值,您必须将总数除以值的数量。

      public static double avg(int[][] a)
      {
          int amountOfValues = 0;
          int total = 0;
          for(int y = 0; y < a.length; y++)
          {
              for(int x = 0; x < a[y].length; x++)
              {
                  total += a[y][x];
                  amountOfValues++;
              }
          }
          return (double)(total)/(double)(amountOfValues);
      }
      

      【讨论】:

        猜你喜欢
        • 2015-03-29
        • 1970-01-01
        • 2021-11-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多