Я думаю, это то, что вам нужно:
public static double findAverage(int[] classRoom) {
if (classRoom.length == 0)
return 0;
int grade = classRoom[0];
if (classRoom.length == 1)
return grade;
int[] newArray = new int[classRoom.length-1]; //create newArray with array length -1
System.arraycopy(classRoom, 1, newArray, 0, newArray.length);//copy array into array length -1
return (grade + findAverage(newArray) * newArray.length) / classRoom.length;
}
В этой последней строке вы делаете average * length
, чтобы получить сумму, чтобы вы могли затем сложить текущее значение и затем разделить на общее длина (что, конечно, newArray.length + 1
.
Опять же, это не имеет смысла вообще в сценарии реального мира, но просто как академический c вызов.
Как И последнее замечание: «найти» обычно относится к поиску элемента в массиве. В этом случае вы ничего не находите, а просто вычисляете среднее значение, поэтому имя функции мне тоже не подходит.