当前位置: 首页 > 知识库问答 >
问题:

如何编写求4×3维双精度数组平均值的方法

燕和同
2023-03-14

我试图找到4×3维数组的平均值,但是当我运行代码时,我收到了异常错误。问题是如何对数组中的各个数字求和,这样我就可以通过除以其长度来求其平均值。

这是我的密码:

    double[][] numbers = {{1.1,2.2,1.3},{2.1,3.4,3.2},{5.4,6.5,3.7},{4.2,3.5,7.4}};
    double average = averagenum(numbers);
    System.out.println(average);
}

public static double averagenum(double[][] numbers) {
    double average = 0;
    double sum = 0;
    for(int i=0; i<numbers.length;i++){
        sum+= numbers[i][i+1];
        average = sum/numbers.length;
    }
    return average;
}

}

共有2个答案

郎磊
2023-03-14

对于二维数组,必须遍历每个循环并对每个元素求和。因此,您可以看到循环在每个维度上迭代的次数为2次。我对每个数字求和,然后除以每个维度的乘积

我猜您正在寻找以下代码

public class CalculateAvg
{
  public static void main (String[] args)
  {
    double[][] numbers = { { 1.1, 2.2, 1.3 }, { 2.1, 3.4, 3.2 }, { 5.4, 6.5, 3.7 }, { 4.2, 3.5, 7.4 } };
    double average = averagenum(numbers);
    System.out.println(average);

  }

  public static double averagenum (double[][] numbers)
  {
    double totalAverage = 0.0d;
    double totalSum = 0;

    for (int i = 0; i < numbers.length; i++)
    {
      for (int j = 0; j < numbers[0].length; j++)
      {
        totalSum += numbers[i][j];
      }
    }
    totalAverage = totalSum / (numbers.length*numbers[0].length);
    return totalAverage;
  }
}
益炜
2023-03-14

谢谢你的评论,我终于明白了

public static void main(String[] args) {
        double[][] numbers = {{1.1,2.2,1.3},{2.1,3.4,3.2},{5.4,6.5,3.7},{4.2,3.5,7.4}};
        System.out.println("\tAverage:"+averagenum(numbers)+"\n");
        printer(numbers);
    }

    public static double averagenum(double[][] numbers) {
        double average = 0;
        double sum = 0;
        int num = numbers.length * numbers[0].length;
        for(int i=0; i<numbers.length;i++){
            for(int j=0; j<numbers[0].length; j++){
                sum+= numbers[i][j];    
            }  
        }
        average = sum/num ;

        return average;
    }
    public static void printer(double[][] GenArray) {

        System.out.println("\tContent in Array:"+Arrays.deepToString(GenArray));
    }
}
 类似资料:
  • 本文向大家介绍numpy求平均值的维度设定的例子,包括了numpy求平均值的维度设定的例子的使用技巧和注意事项,需要的朋友参考一下 废话不多说,我就直接上代码吧! 使用以下代码验证正确 以上这篇numpy求平均值的维度设定的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 返回两个或两个以上数字的的平均值。 使用 Array.reduce() 将每个值累加到初始值 0 的累加器, 除以数组长度 length 。 const average = (...nums) => [...nums].reduce((acc, val) => acc + val, 0) / nums.length; average(...[1, 2, 3]); // 2 average(1,

  • 问题内容: 我正在与Clojure互操作的Java API要求我将2d的双精度数组传递给它;双[][]。如何在Clojure中创建 原始 的double二维数组?我正在寻找这样的东西 该函数的Java返回类型为double [] []。 问题答案: 试试这个:

  • 我有3个非常大的有符号整数。 我想计算它们的截断平均值。预期平均值是,即。 不可能计算为: 注:我读了所有关于2个数字的平均值的问题,但我不知道该技术如何应用于3个数字的平均值。 使用BigInteger将非常容易,但假设我不能使用它。 如果我转换为双精度,那么,当然,我会失去精度: 如果我转换为,它可以工作,但也让我们假设我不能使用它。 问题:有没有一种方法可以仅使用长类型来计算3个非常大整数的

  • avg 获得某个列字段的平均值avg($table, $column, $where) table [string] 表名. column [string] 列字段 where (optional) [array] WHERE 条件.avg($table, $join, $column, $where) table [string] The table name. join [array] Tab

  • avg 获得某个列字段的平均值avg($table, $column, $where) table [string] 表名. column [string] 列字段 where (optional) [array] WHERE 条件.avg($table, $join, $column, $where) table [string] The table name. join [array] Tab