Java 如何编写求4×3维双精度数组平均值的方法
我试图找到4×3维数组的平均值,但是当我运行代码时,我收到了异常错误。问题是如何对数组中的各个数字求和,这样我就可以通过除以其长度来求其平均值 这是我的密码:Java 如何编写求4×3维双精度数组平均值的方法,java,Java,我试图找到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 s
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));
}
}
拿一支铅笔和一些纸,在纸上写下一个小数值的4x3矩阵,然后逐行运行函数,写下每行发生的情况。这将需要一两分钟,但当你得到总和+=。。。线。你不能一次在2维中循环,你需要一个单独的内部循环。如果你要提到一个错误,请指定它是哪个错误以及发生在哪里。你有没有研究过这个错误,看看它为什么会被抛出?关于那个原因,你不明白什么?我该怎么区分呢?这个错误是个例外嗨,忘了写解释了。对于二维数组,必须遍历每个循环并对每个元素求和。因此,您可以看到循环在每个维度上迭代的次数为2次。我对每个数字求和,然后除以每个维度的乘积。