Math.pow を使用して、整数の小さな配列の幾何平均を見つけようとしています。この構文を使用するのはこれが初めてで、コードを完成させる方法がわかりません。
私は現在、過去数年間の試験問題に取り組んでおり、これは問題の 1 つです。
私のコードのエラーを許してください。私はまだ 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 を見ていますか?