2011-11-05 63 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

相关问题