0

我想检查 5 个字段中的 2 个是否已填写,但我不知道如何填写。

如果我将其置于条件中,则仅检查其中一个条件为真:

或者

  • 字段 1 不为空
  • 字段 2 不为空
  • 字段 3 不为空
  • field4 不为空
  • 字段 5 不为空

有以下更简单的方法吗?

  • 字段 1 不为空
  • 字段 2 不为空

或者

  • 字段 1 不为空
  • 字段 3 不为空

或者

  • 字段 1 不为空
  • field4 不为空

或者

  • 字段 1 不为空
  • 字段 5 不为空

或者

  • 字段 2 不为空
  • 字段 3 不为空

或者

  • 字段 2 不为空
  • field4 不为空 (...)
4

2 回答 2

1

2 For 循环

    for(int i=0;i<5;i++){
     for(int j=i+1;j<5;j++){
      if(field[i]==true&&field[j]==true)
       return true;
     }
    }

编辑:您根据需要替换语句。您必须将字段存储在数组中。i+1 的事情归功于 zolyboy :)

于 2014-01-26T16:27:10.013 回答
0

在 SQL 中,我会这样:

select if(if(field1='',0,1)+ if(field2='',0,1)+ if(field3='',0,1)+ if(field4='',0,1)+ if(field5='',0,1)=2) true else false end ...

在其他语言中,它可能类似于:

int a = (field1.equals(""))0:1;
int b = (field2.equals(""))0:1;
int c = (field3.equals(""))0:1;
int d = (field4.equals(""))0:1;
int e = (field5.equals(""))0:1;

boolean result= (a+b+c+d+e==2)?true:false;

使用上面的代码,您可以轻松地将其用于 5 个中的 3 个、5 个中的 4 个、10 个中的 7 个等...

于 2014-01-26T16:33:11.190 回答