2015-12-08 77 views
0

我有一個疑問,如果這是或不是一個好的做法。Java:再次通過方法結果作爲方法參數

因此,您需要連接未定義數組的數量,然後在最後打印結果。因此,你可以打電話的圖片計算很多次。 例如

Object[] example = new Object [0]; 

public Object methodAppend(Object[] a, Object[] b){ 
    - here append the array b to the array a 
    - return the array a 
} 

public Object calculate(){ 

    Object[] someArray = new Object[5] 
    // immagine i already have some values in the array 
    for(int i=0;i<5;i++) 
     example = methodAppend(example,someArray) 

    return example 
} 

我得到了想要的結果。但我的問題是:

  1. 這是

    例如= methodAppend(例如,的someArray)

    一個好的做法呢?

  2. 如何在 方法中再次發送方法的結果時調用該方法?
  3. 這是遞歸的一個例子嗎?

因爲遞歸我總是認爲這是當例如,爲了結果,我們再次調用該方法。

TNX

+0

不,這不是遞歸。你可以稱之爲「積累」,但實際上,反覆應用手術是非常普遍的做法。不知道爲什麼你覺得這很特別。這就像使用'result = result + a [i]'將數組中的所有數字相加。 – RealSkeptic

+0

Tnx的答案,是的,我沒有表達自己在問題....我想問問,如果這是一個很好的做法,以這種方式連接一個數組 – lucidBug

回答

0
  1. 這是不好的做法?

絕對不是。這種模式被廣泛使用和接受就像任何形式的x = x + someCall()

  • 當我在方法再次發送方法的結果如何被稱爲?

    • 方法調用使用可變的電流值評價。
    • 方法的結果被設定爲新價值您在下次迭代變量
    • ,從最後一次通話的價值是現在電流值
    • 。 。 。
  • 這是遞歸的一個例子嗎?

  • 號這隻會是遞歸的,如果你願意內someMethod()someMethod()

    public int someMethod(int i) { 
        if(i < 2) { 
        return 1; 
        } else { 
        return someMethod(i-1)+someMethod(i-2); 
        } 
    }