簡體   English   中英

在 for 循環中只執行一次 if 語句

[英]Execute an if statement inside a for loop only once

我想用 if 語句和 for 循環檢查表中的每個條目,如果它是真的,只做一次。 例如:

int[][] table = new int[5][5]
int number = 4;

for(int i=0;i<table.length;i++)
   { 
     if(table[i][0] != number)
     {
       do something;
     }
   }

因此,如果條目等於數字,它會檢查第一列,如果不等於,則執行“做某事”。 但是我只想在整個列不等於一次而不是每個條目時執行“做某事”。

通過使用一個總是增加的計數器來解決它

if(table[i][0] != number)

為真,如果計數器等於 0,我執行“做某事”。

你可以簡單地打破一個循環。

loop_name: for(int i=0;i<table.length;i++) { 
     if(table[i][0] != number)
     {
       do something;
       break loop_name;
     }
   }

在第一次條件變為真之后,“做某事”並打破循環;

嘗試這個

    int[][] table = new int[5][5]
    int number = 4;
    // use this flag to signal the condition violation
    boolean flag = false;
    
    for(int i=0;i<table.length;i++)
       { 
         if(table[i][0] == number)
         {
           flag == true;
           break;
         }
       }
     if(!flag) doSomething();

你也可以試試

do {do_stuff; table[i][0] = number;} while (table[i][0] != number);

暫無
暫無

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

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