如何将迭代方法转换为递归方法(Java)



我正在自学一门Java课程,但是我没有任何问题的答案。第一单元的这个基于Karel++的问题把我难住了。在一堆"寻呼机"上有一个机器人物体,它需要确定堆中有多少个并返回该值。我需要将下面的迭代方法转换为递归方法

public int numOfBeepersInPile()
{
    int count = 0;
    while(nextToABeeper())
    {
        pickBeeper();
        count++;
    }
    return count;
}
有谁能给我点提示吗?

考虑一个函数,它将计数作为参数,然后,如果它旁边是一个寻呼机,则增加计数并使用新的计数调用自己。如果它不在传呼机旁边,那就完成了。无论哪种情况,它都应该返回当前计数。我可能把这个弄得太简单了——我不确定!

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

相关内容

  • 没有找到相关文章

最新更新