gpt4 book ai didi

java - 如何使用Math.pow查找整数数组的几何平均值

转载 作者:行者123 更新时间:2023-12-02 05:21:52 31 4
gpt4 key购买 nike

我正在尝试使用Math.pow查找一小部分整数的几何平均值。
这是我第一次使用这种语法,我不确定如何完成我的代码。

我目前正在阅读去年的考试卷,这是问题之一。

请原谅我的代码中的任何错误。我还在学习Java。

public class AverageOfArray {

public static void main(String []args){

int [] data = new int[3];
data[0] = 2;
data[1] = 4;
data[2] = 8;

int y = 0;
int sum = 0;
for(int i = 0; i < data.length; i++){
sum = sum + data[i];
y++;
}

Math.pow(sum, 1.0/data.length);
System.out.println(sum);

}

}

尽管代码可以正常运行且没有错误,但它没有提供我所需的输出。平均值应为4。

这是经过一些编辑的代码:
public class AverageOfArray {

public static void main(String []args){

int [] data = new int[3];
data[0] = 2;
data[1] = 4;
data[2] = 8;


double sum = 1.0;

for(int i = 0; i < data.length; i++){
sum = sum * data[i];
}

double geoMean = Math.pow(sum, 1.0/data.length);
System.out.println(geoMean);

}

}

但是,现在返回3.9999996吗?
我现在在这里看Math.abs吗?

最佳答案

您的geometric mean计算不正确。您必须将所有值相乘而不是相加。并且您的初始产品必须从1.0开始。

double product = 1.0;

然后...
product = product * data[i];

另外,将 Math.pow的结果存储在一个新变量- double中,因为这是 Math.pow 返回的内容。
double geoMean = Math.pow(product, 1.0 / data.length);

关于java - 如何使用Math.pow查找整数数组的几何平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16450368/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com