我的代码应该计算出数组值的平均值并打印出来。
我在这里

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

10-08 02:31