我正在自学一门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;
}