[英]Jumping out of for-loop including a recursive method with for-loop (Java)
这是我的第一篇文章,如果我发布的不正确或不完整,我会很抱歉,我会回答每个问题,我愿意改进。
我的main方法有一个for循环,里面有一个递归方法,递归方法也有一个for循环(递归方法基本上替代了很多嵌套的for循环)。 当遇到特定情况时,我想跳出递归方法并跳出 main 中的 for 循环。 对于可视化:
public static void main(..)
for (int i = 0, i < 100 ; i++) {
//do something
recursivemethod(...)
}
//jump here, if case in method is reached
------------------------
recursivemethod (...)
for (int i = 0; i < 10 ; i++) {
//do something
if (case reached) {//jump out of loop in main}
else {recursivemethod(modified)}
}
因为我不能 label 我的主循环并break Label;
在我的方法中(据我所知),我尝试使用 boolean,但由于 for 循环和/或递归调用,boolean 切换回来并且没有想要的效果。
有一个类似的问题,用户后来添加了他的解决方案,但没有指定它足以让我理解以及如何在我的代码中实现这一点,用户最后一次见到是几年前,所以我不能问他。 有人可以帮帮我吗?
提前非常感谢!
您可能想从递归方法中返回 boolean 。 例如。 true 表示递归 call8ng 应该停止并退出循环
for (int i = 0, i < 100 ; i++) {
//do something
if(recursivemethod(...))
break;
}
递归方法
boolean recursivemethod (...) {
for (int i = 0; i < 10 ; i++) {
//do something
if (case reached) {return true;}
else {return recursivemethod(modified)}
return false;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.