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

标签 java recursion karel

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

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

谁能给我提示吗?

最佳答案

考虑一个将计数作为参数的函数,然后,如果它紧邻蜂鸣器,则增加计数并使用新计数调用自身。如果它旁边没有蜂鸣器,则表示已完成。无论哪种情况,它都应该返回当前计数。我可能把这件事做得太简单了 - 不确定!

关于java - 如何将迭代方法转换为递归方法(Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6686713/

相关文章:

java - OpenGL - 矩阵运算

c++ - 递归函数导致栈溢出

java - 阿达玛模式问题

java - 在 Karel Midpoint 练习中使用 Getter 和 Setter (Java)

java - ElasticSearch Java API 从查询生成器获取不同的值

java - 如何在java中使用扫描仪时删除ArrayList中的特定对象

java - 如何从抽象类调用主驱动程序中的实例?

javascript - 减慢 javascript 的 eval 的执行

java - 如何从带有基本适配器的 GridView 中选择单个编辑文本框?

java - 递归教程