簡體   English   中英

跳出for循環,包括帶有for循環的遞歸方法(Java)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM