关于java中递归函数的问题

2025-01-07 02:03:18
推荐回答(3个)
回答1:

你的程序错就错在return语句上,请记住,递归条件下每一层的return只能返回到上一层,而不能跳出整个递归函数,如果想达到你的目的,你应该在你的递归函数上写道:
findPath(){
if(thisNode != startNode)
{

return findPath(//你的下一层执行结果);
//这样当你的下一层返回false时,整个递归函数将返回
}
}

回答2:

lz
if(!isDone) {判断的是isDone不是方法的带进来的参数true,所以,方法是肯定要进行的,可能是isDone在方法执行中并没有修改成true,所以依然会跳进方法中

回答3:

那是不是你的flag判断问题循环继续~像这样的问题一般debug都可以找到!~~你追踪你的判定值咯~