2

代码:

 ArrayList <Integer> 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;

我收到一个错误:

必需:双 []
找到:无参数

为什么我会收到这个错误,我应该改变什么?

4

4 回答 4

7

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

private double calculateAverage(double [] marks) 

因此它需要一个 type 参数double[],但你什么也不传递。

于 2012-05-28T18:57:26.537 回答
3

看这个:

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

计算平均值是什么意思?您必须为该方法提供一些平均数据。calculateMaximum等情况也是如此calculateMinimum。没有任何上下文,这些方法将无能为力。

您的实际标记存储在哪里?大概你有某种变量存储标记 - 所以通过它。例如:

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

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

于 2012-05-28T18:57:47.180 回答
1

private double calculateAverage(double [] 标记) 是方法声明,所以当它被调用时,它必须有双数组的参数

例如:

计算平均值(double_value_array);

于 2012-05-28T19:08:27.807 回答
0

你可以这样称呼它:

double d[] = {1, 2, 3};
double ret = calculateAverage(d);
System.out.println(ret);
于 2012-05-28T19:03:37.840 回答