2011-11-04 83 views
1

我有一個數組,如下所示。如何在數組循環中設置標誌值?

基本上在這個數組中,有時thebagdata [i] .getSecurityType()可能包含也可能不包含數組中的值。

for (int i = 0; i <bagdata.length; i++) { 
       if (bagdata[i].getSecurityType() != null) { 
        flag = true; 
       } else { 
        flag = false; 
       } 

      } 

我認爲我的代碼覆蓋了標誌值。我該如何處理這個問題?

+1

我真的不明白問題是什麼... – mre

+1

標誌在哪裏相關?只在for循環內部或外部?你也可以詳細說明如何在你的應用程序中進一步使用該標誌嗎? – Mechkov

+0

正如@Mechkov所說:告訴我們你想說什麼國旗。例如「這個項目符合某些條件」(它在循環中使用),或者「有一些項目滿足某些條件」(它在循環之後使用)。 – helios

回答

4

取決於你想要什麼旗,嘗試:如果需要,設置標誌後

boolean flag = true; 

for (int i = 0; i <bagdata.length; i++) { 
    flag &= bagdata[i].getSecurityType() != null; 
} 
2

使用break;立竿見影。如果你想標記每個值,請製作一組標誌。

1

如果你想標誌設置爲true,如果至少一個containsdata你應該只設置標誌爲false循環之前刪除的其他部分是這樣的:

 flag=false; 
      for (int i = 0; i <bagdata.length; i++) { 
      if (bagdata[i].getSecurityType() != null) { 
       flag = true; 
      } 
     } 

,但如果你想記住的標誌對於數組中的每個元素,您應該創建一個標記數組...

1

如果您要將標誌值設置爲true,那麼使用break聲明來循環出來。