【问题标题】:How to convert an iterative method into a recursive method (Java)如何将迭代方法转换为递归方法(Java)
【发布时间】:2011-07-13 23:04:24
【问题描述】:

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

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

谁能给我一个提示?

【问题讨论】:

    标签: java recursion karel


    【解决方案1】:

    考虑一个将计数作为参数的函数,然后,如果它在蜂鸣器旁边,则增加计数并使用新计数调用自身。如果它不在蜂鸣器旁边,它就完成了。无论哪种情况,它都应该返回当前计数。我可能让这太容易了 - 不确定!

    【讨论】:

      【解决方案2】:
       public int numOfBeepersInPile()
       {
           if (nextToBeeper())
           {
              pickBeeper();
              return 1 + numOfBeepersInPile();
           }
           return 0;
       }
      

      【讨论】:

        猜你喜欢
        • 2021-08-09
        • 2018-10-16
        • 2015-01-08
        • 1970-01-01
        • 2017-08-01
        • 2014-10-13
        • 1970-01-01
        • 2015-05-09
        • 2016-06-29
        相关资源
        最近更新 更多