2014-01-26 41 views
0

我想檢查5個字段中的2個是否填滿,但我不知道如何。如何檢查5的兩個條件是否屬實?

如果我把這個條件,只有檢查的條件之一是:

OR

  • FIELD1不是空
  • 場2不爲空
  • 場3不爲空
  • field4不爲空
  • field5不爲空

有一個更簡單的方法,以下內容?

  • FIELD1不是空
  • 場2不爲空

OR

  • FIELD1不是空
  • 場3不爲空

  • FIELD1不是空
  • 字段4不爲空

OR

  • FIELD1不是空
  • 字段5沒有空

OR

  • 場2不爲空
  • 場3不爲空

OR

  • 場2不爲空
  • 字段4不爲空 (...)

回答

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; 
    } 
    } 

編輯: 您可以根據需要更換報表。 而且您必須將字段存儲在數組中。 貸zolyboy爲i + 1件的事情:)

+0

j變量應該從我開始不從0 – Zolyboy

+0

不?爲什麼?它沒有意義 –

+0

爲什麼要測試字段[1] == true && field [2] == true並在該字段後[2] == true && field [1] == true?它是完全一樣的東西,如果你把0而不是0 + 1,那麼你將不會做同樣的多次 – Zolyboy

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 5,4 5 5 10等條件等...

相關問題