我有两个这样的双数组:
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);
}
计算数组中所有元素的平均值,但我希望得到另一个数组,表示插入输入的两个或多个数组的平均值!
答案 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++)