跳出for循环包括带for循环的递归方法(Java)

Jumping out of for-loop including a recursive method with for-loop (Java)

这是我的第一个 post,很抱歉,如果我 post 不正确或不完整,我会回答每个问题,并且愿意改进。

我的main方法有一个for循环,里面有一个递归方法,递归方法也有一个for循环(递归方法基本上代替了很多嵌套的for循环)。当遇到特定情况时,我想跳出递归方法,跳出我的 main.c 中的 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)}
    
}

因为我无法在 main 中标记我的 for 循环和在我的方法中标记 break Label;(据我所知),我尝试使用布尔值,但由于 for 循环 and/or 递归调用,布尔值切换回来,没有想要的效果。

有一个 similar question 用户后来添加了他的解决方案,但没有详细说明它让我理解以及如何在我的代码中实现它,用户最后一次出现是在几年前,所以我不能问他。有人可以帮我吗?

非常感谢!

您可能想从递归方法中 return 布尔值。例如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;

    }
}