我有一个汇总平均结果的方法,该方法调用另一个存储结果数组的方法,但是返回数组似乎有点麻烦:
数组代码:
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);
}
最佳答案
您已将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);
}