2011-11-05 62 views
1

這是我的驗證下面的方法。Java:如何設置數組循環中的標誌值

public boolean validateData(Bagform[] bagdata) { 
    boolean flag = false; 
    int length = bagdata.length; 

    if (length == 2) { 
     for (int i = 0; i < bagdata.length; i++) { 
      if (bagdata[i].getCallType() == null) { 
       flag = true; 
      } 
     } 
    } 
    else { 
     flag = true; 
    } 
    return flag; 
} 

在這基本上我檢查,如果getCallType()不是任何值在數組中的值爲空。

如果它不爲空,那麼它是一個有效的數據,所以我將標誌設置爲true。 (請參見上面的代碼)

但對我來說,我得到的標誌值仍然爲假(即使getCallype()不爲null)

請幫助我。

+1

請正確縮進您的代碼。閱讀起來很尷尬。 –

+3

** flag **是一個很差的變量名稱。如何** isValid **來代替。 –

回答

4

如果呼叫類型 null,則將標誌設置爲true。我懷疑你想:

public boolean validateData(Bagform[] bagdata) { 
    boolean flag = true; 
    int length = bagdata.length; 

    if (length == 2) { 
     for (int i = 0; i < bagdata.length; i++) { 
      if (bagdata[i].getCallType() == null) { 
       flag = false; 
      } 
     } 
    } 
    return flag; 
} 

目前尚不清楚爲什麼你的時候也正是數組中的兩個項目雖然只正在執行此驗證。除非這是真正的故意,我會寫這有:

public boolean validateData(Bagform[] bagdata) { 
    for (Bagform form : bagdata) { 
     if (form.getCallType() == null) { 
      return false; 
     } 
    } 
    return true; 
} 
+1

非常感謝你,你節省了我的一天,你的編碼風格也很好。 – Pawan

相關問題