我有一个总计平均结果的方法,它调用另一个存储结果数组的方法,但我似乎无法返回数组:
数组代码:
static double findAverages() {
double [] averagesArray = new double[10];
for(int i = 0; i < 9; i++) {
double total = (studentMarksArray[i][0]+studentMarksArray[i][1]+studentMarksArray[i][2])/3;
averagesArray[i] = total;
}
return averagesArray;
}
调用数组的方法:
static void highestStudentAvgMark() {
findAverages();
double max = averagesArray[0];
for (int i = 1; i < averagesArray.length; i++) {
if (averagesArray[i] > max) {
max = averagesArray[i];
}
}
findMark(max, averagesArray);
System.out.println(max);
}
答案 0 :(得分:3)
您已将double
而非double []
定义为方法的返回类型。
同样averagesArray
是findAverages()
方法中的局部变量,因此在其他方法中不可见!您需要使用findAverages()
的返回值:
static void highestStudentAvgMark() {
double[] averagesArray = findAverages();
double max = averagesArray[0];
for (int i = 1; i < averagesArray.length; i++) {
if (averagesArray[i] > max) {
max = averagesArray[i];
}
}
findMark(max, averagesArray);
System.out.println(max);
}
答案 1 :(得分:1)
您的方法签名表示它返回double
,但您将返回double[]
。
同样`findAverages();'不存储在本地,因此不会在第二种方法中使用。