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