我有一个汇总平均结果的方法,该方法调用另一个存储结果数组的方法,但是返回数组似乎有点麻烦:

数组代码:

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);
}

07-27 15:15