将数组返回到方法

时间:2013-11-29 15:51:45

标签: java arrays return

我有一个总计平均结果的方法,它调用另一个存储结果数组的方法,但我似乎无法返回数组:

数组代码:

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

2 个答案:

答案 0 :(得分:3)

您已将double而非double []定义为方法的返回类型。

同样averagesArrayfindAverages()方法中的局部变量,因此在其他方法中不可见!您需要使用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();'不存储在本地,因此不会在第二种方法中使用。