簡體   English   中英

Java for 循環中的 if 語句

[英]Java if-statement in for-loop

我的程序中有幾個布爾值,當程序運行時,只有一個設置為 true(基於用戶在控制台中的輸入)。 現在我的程序有一個基本的 for 循環,如下所示: for(int i = 0; i < 5; i++){ do this} 但我希望“5”根據 boolean 是真的來改變。 類似if(boolean1 == true){ i < 5}else if(boolean2 == true){ i < 7} 如何在 java 中實現這一點,而不是為每個 boolean 編寫不同的 for 循環?

假設只有兩個可能的值 5 或 7,只需執行以下操作:

    int end = boolean1 ? 5 : 7;
    for(int i = 0; i < end; i++){ 
       //do this
    }

為循環條件創建一個變量(例如end )並相應地設置值。

如果有更多變量,同樣的想法也適用:

    int end = 0;
    if(variable1) end = ... ; // some value 
    else if(variable2) end = ...; // some value
    ...
    else if(variableN) end = ...; // some value  

    for(int i = 0; i < end; i++){ 
       //do this
    }

正如 NomadMaker 建議的那樣,您可以使用變量作為 for 循環的邊界

boolean bool1;
boolean bool2;
int numberOfExecutions;

in your main function
callTheActionThatSetsOneBooleanToTrue();
if (bool1) {
    numberOfExecutions = 5;
}
if (bool2) {
    numberOfExecutions = 10;
}
for (int i=0; i < numberOfExecutions; i++) { doYourThing(); }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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