2011-07-13 60 views
0

我正在通過自己的Java課程工作,但我沒有任何問題的答案。基於Karel ++的第一單元的這個問題使我難住了。在一堆「蜂鳴器」上有一個機器人物體,它需要確定堆中有多少物並返回該值。我需要將下面的迭代方法轉換爲遞歸方法。如何將迭代方法轉換爲遞歸方法(Java)

public int numOfBeepersInPile() 
{ 
    int count = 0; 
    while(nextToABeeper()) 
    { 
     pickBeeper(); 
     count++; 
    } 
    return count; 
} 

任何人都可以給我一個提示嗎?

回答

0
public int numOfBeepersInPile() 
{ 
    if (nextToBeeper()) 
    { 
     pickBeeper(); 
     return 1 + numOfBeepersInPile(); 
    } 
    return 0; 
} 
+3

我想我不會擔心使它太容易... –

+0

提示!=解決方案 – hoipolloi

6

考慮,將採取的計數作爲參數,然後,如果到下一個蜂鳴器,增加了計數,並與新的計數調用本身的功能。如果它不在蜂鳴器旁邊,就完成了。無論哪種情況,它都應該返回當前計數。我可能會讓這個過於簡單 - 不確定!

+0

+1在其他答案:)評論。不要給魚,教如何... – woliveirajr

+0

+1提供有用的提示 – hoipolloi