我试图找到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次。我对每个数字求和,然后除以每个维度的乘积
我猜您正在寻找以下代码。
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;
}
}
谢谢你的评论,我终于明白了
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