代码:
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;
我收到错误:
必需:双倍[]
发现:没有参数
为什么我会收到此错误,我应该更改哪些内容?
答案 0 :(得分:7)
你以这种方式调用方法calculateAverage:calculateAverage()
,没有任何参数。但是方法是这样宣布的:
private double calculateAverage(double [] marks)
因此需要一个double[]
类型的参数,但是你没有传递任何东西。
答案 1 :(得分:3)
看看这个:
String output = "Class average:" + calculateAverage() + ...
计算平均值是什么意思?您必须为该方法提供一些平均数据。 calculateMaximum
,calculateMinimum
等同样如此。没有任何上下文,这些方法无法做任何事情。
您的实际标记存储在哪里?据推测,你有一些存储标记的变量 - 所以通过它。例如:
String output = "Class average:" + calculateAverage(actualMarks) + ...
...显然除了真实变量,或者你用来存储标记的任何东西。
答案 2 :(得分:1)
私有double calculateAverage(double []标记)是方法声明,所以当它被调用时它必须具有double数组的参数
例如:
calculateAverage(double_value_array);
答案 3 :(得分:0)
您可以这样称呼它:
double d[] = {1, 2, 3};
double ret = calculateAverage(d);
System.out.println(ret);