JAVA:计算两个或更多阵列之间的平均值

时间:2014-06-18 09:27:55

标签: java arrays

我有两个这样的双数组:

 double[] a1={1.0,0.25,0.64,0.21};
 double[] a2={0.57,0.24,0.22,0.91};

如何获得另一个阵列文档,它们是这两个数组之间的平均值?

这是代码:

  public double average(double[] data) {  
    double sum = 0;

    while(int i=0; i < data.length; i++) 

    sum = sum + data[i]; 
    double average = sum / data.length;; 

    System.out.println("Average value of array element is " " + average);
}

计算数组中所有元素的平均值,但我希望得到另一个数组,表示插入输入的两个或多个数组的平均值!

1 个答案:

答案 0 :(得分:2)

此代码将解决您的问题:

public static double[] averages(double[]... input) {

    double[] result = new double[input.length];

    for(int i = 0; i< result.length; i++) {
        result[i] = Arrays.stream(input[i]).average().getAsDouble();
    }

    return result;
}

代码使用VarArgs,因此允许您使用各种参数调用它。

double[] avgs = averages(a1,a2);

将产生具有两个双精度数组的数组,每个数组都是数组中的大量项目。

它使用Java 8,但可以用从单个数组计算avg的代码替换。


如果您的代码存在问题。

Java不知道这样的指令

while(int i=0; i < data.length; i++)

应将其替换为for

for(int i=0; i < data.length; i++)