0

我正在自己学习 Java 课程,但我没有任何问题的答案。第一单元的这个问题,基于 Karel++,难倒了我。一堆“蜂鸣器”上有一个机器人对象,它需要确定这堆有多少个并返回该值。我需要将以下迭代方法转换为递归方法。

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 回答