簡體   English   中英

具有錯誤返回值的遞歸方法

[英]Recursive method with incorrect return value

這種遞歸方法似乎加起來了。 由於某種原因,返回總和時,總和等於4,而不是應為10的值。 為什么總和不等於10? 我只是測試該方法,看它是否有效,數組將發生變化。

public class TestMeanVal {
    public static void main(String[] args){
        int[] intArray = new int[] {1,2,3,4};
        System.out.println(meanRec(intArray, intArray.length-1, 0));
    }



    static double meanRec(int[] array, int b, int g){
        int sum = g;
        if (c.length == 1){
            return c[0]/1.0;
        }else if(b >= 0){
            sum += c[b];
            b--;
            meanRec(c,b, sum);
        }
        return sum/c.length;
    }
}

你需要

 return meanRec(c, b, sum);

否則它將遞歸,但始終返回第一次調用的sum/c.length

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM