2011-11-04 84 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声明来循环出来。