我对4个html字段的数据应用了某些条件,这些字段分为两类:A类(字段A1和A2)和B类(字段B1和B2)
N.B:我对如何以优雅的方式实现这一点感到困惑
规则:
1)当4个字段为空时,我返回一个字段为空的消息。
2)当字段A1,A2有效且B1,B2为空时,我根据类别A应用一个动作
3)规则执行(2):当字段A1有效且字段A2为空时,A2为A2分配一个值(例如A2 = A1 ++)
4)当字段B1,B2有效且A1,A2为空时,我根据类别B应用一个动作
5)规则(4)的例外:当字段B1有效且字段B2为空时,B2我给B2分配一个值(例如B2 = B1 ++) 6)如果所有字段都有效,我会根据所有字段应用操作
if ( A1 == '' && A2 == '' && B1 == '' && B2 == '' ) {
System.out.println("empty fields");
}else if () {
} else {
}
答案 0 :(得分:1)
类似的东西?
if( A1 == "" && A2 == "" && A3 == "" && A4 == "")
System.out.println("empty fields")
else if(A1.IsValid() && A2.IsValid() && B1.IsValid() && B2.IsValid()
DoSomethingElseAB();
else if( A1.IsValid() )
{
if(A2 == "")
A2 = A1++;
else if ( B1 == "" & B2 == "")
DoSomethingElseA();
if( A2.IsValid() && B2 == "" )
B2 = B1++;
else if ( B1.IsValid() && B2.IsValid() && A1 == "" && A2 == "")
DoSomethingElseB()
}
答案 1 :(得分:1)
您可以利用2的幂来为任何字段输入集生成唯一组合。你可以(应该)甚至隐藏枚举中的值。这很容易让您处理任何可能的输入集。
但是,只是为了说明,它看起来像:
// assign values to rules to each and accumulate:
static final int ALL_EMPTY = 0;
static final int RULE_3 = 1;
// ....rest of the rules
static final int RULE_4 = 12; // this is 0 + 0 + 4 + 8
int settings = 0;
if (A1.isValid()) {
settings += 1;
}
if (A2.isValid()) {
settings += 2;
}
if (B1.isValid()) {
settings += 4;
}
if (B2.isValid()) {
settings += 8;
}
switch (settings) {
case ALL_EMPTY:
// output message
break;
case RULE_3:
// do rule 3
break;
// etc, etc (for each rule you need)
}