基本思想是,当索引达到递归函数中数组的长度时。因此,您所要做的就是将数组中每个索引点的总和相加,然后继续将更新后的索引和总和传递给递归函数。
class Test {
public static void main(String[] args) {
int newClassSize[] = {10,2,3}; // User Input let say
double average = findAverage(newClassSize);
System.out.println(average);
}
public static double findAverage(int[] arr){
// 避免除以零错误
if (arr.length==0){
return 0;
}
return findAverageHelper(arr,0,0);
}
public static double findAverageHelper(int[] arr, int index,int sum){
if (index==arr.length){
return sum/arr.length;
}
// 增加索引并在索引处添加当前值以求和
return findAverageHelper(arr,index+1,sum+=arr[index]);
}
}