我的代码应该计算出数组值的平均值并打印出来。
我在这里
public class ArrayAverageTester
{
public static void main(String[] args)
{
int[] numArray = {12, 17, 65, 7, 30, 88};
// Create an ArrayAverage object and print the result
ArrayAverage[] arr = {12, 17, 65, 7, 30, 88};
System.out.println("The average of the array is " + arr.getAverage());
}
}
还有我的ArrayAverage类,
public class ArrayAverage
{
private int[] values;
public ArrayAverage(int[] theValues)
{
values = theValues;
}
public double getAverage()
{
int sum = 0;
for(int value : values)
{
sum += value;
}
return (sum/values.length);
}
}
我的错误是说int无法转换为ArrayAverage,并且我忘记了声明方法getAverage()或超出范围。
最佳答案
首先,您的getAverage()
方法执行整数数学运算(当前)。你可以像这样解决
public double getAverage() {
int sum = 0;
for (int value : values) {
sum += value;
}
return (sum / (double) values.length);
}
接下来,您需要构造一个新的
ArrayAverage
实例(而不是它们的数组),并将构造函数的数组传递给平均值。喜欢,ArrayAverage arr = new ArrayAverage(numArray);
产出
The average of the array is 36.5