使用递归取数组的平均值(向下取整)

基本思想是,当索引达到递归函数中数组的长度时。因此,您所要做的就是将数组中每个索引点的总和相加,然后继续将更新后的索引和总和传递给递归函数。

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

    }

}

猜你喜欢

转载自blog.csdn.net/weixin_42469135/article/details/122635104