required:double found:没有参数

码:

ArrayList  marks = new ArrayList(); String output = "Class average:" + calculateAverage() + "\n" + "Maximum mark:" + calculateMaximum() + "\n" +"Minimum mark:" + calculateMinimum() + "\n" + "Range of marks:" + range; analyzeTextArea.setText(output); private double calculateAverage(double [] marks) { double sum = 0; for (int i=0; i< marks.length; i++) { sum += marks[i]; } return sum / marks.length; } 

忽略字符串中的其他内容(最小值,最大值和范围),但对于此行,

  String output = "Class average:" + calculateAverage() + "\n" + "Maximum mark:" + calculateMaximum() + "\n" +"Minimum mark:" + calculateMinimum() + "\n" + "Range of marks:" + range; 

我收到一个错误:

必填:双[]
发现:没有参数

为什么我会收到此错误,我应该更改哪些内容?

你用这种方式调用方法calculateAverage: calculateAverage() ,没有任何参数。 但是方法是这样声明的:

 private double calculateAverage(double [] marks) 

因此它需要一个double[]类型的参数,但是你没有传递任何东西。

看这个:

 String output = "Class average:" + calculateAverage() + ... 

这意味着计算平均值是多少? 您必须为该方法提供一些平均数据。 calculateMaximumcalculateMinimum等也是如此。没有任何上下文,这些方法都无法做任何事情。

您的实际标记存储在哪里? 据推测,你有一些存储标记的变量 – 所以通过它。 例如:

 String output = "Class average:" + calculateAverage(actualMarks) + ... 

…显然除了真实变量,或者你用来存储标记的任何东西。

private double calculate(double []标记)是方法声明,因此当它被调用时它必须具有double数组的参数

例如:

calculateAverage(double_value_array);

你可以这样称呼它:

 double d[] = {1, 2, 3}; double ret = calculateAverage(d); System.out.println(ret);