0

私は自分でJavaコースを受講していますが、どの問題にも答えがありません。Karel ++に基づくユニット1からのこの問題は、私を困惑させました。「ブザー」の山にロボットオブジェクトがあり、山に何個あるかを判断してその値を返す必要があります。次の反復法を再帰法に変換する必要があります。

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

誰かが私にヒントを与えることができますか?

4

2 に答える 2

6

カウントを引数として取る関数を考えてみてください。次に、ブザーの隣にある場合は、カウントを増やして、新しいカウントで自分自身を呼び出します。ブザーの隣にない場合は、完了です。いずれの場合も、現在のカウントを返す必要があります。私はこれを簡単にしすぎたかもしれません-わかりません!

于 2011-07-13T23:08:49.517 に答える
0
 public int numOfBeepersInPile()
 {
     if (nextToBeeper())
     {
        pickBeeper();
        return 1 + numOfBeepersInPile();
     }
     return 0;
 }
于 2011-07-13T23:09:15.530 に答える