有一个页面分为几个模板, 设为A,B,C,D模块, 当A,B,C模快输入值时, D必须输入值, 然后完成一定的功能;
A,B,C模块不输入值, 但D模块输入值, 可以执行D模块的一些功能;
if(A已经输入值&&B已经输入值&&C已经输入值&&D已经输入值)
{
  执行一大块代码
}
else if(D已经输入值&&A,B,C都没输入) {
  执行另一代码
}我想不用IF语句来写, 怎么写好一些呢?

解决方案 »

  1.   

    用条件运算符
    x ? y : z
      

  2.   

    可以尝试一下assert
    例如
    try {
    assert a&b&c&d;
    //code 1
    assert d;
    //code 2
    } catch (AssertionError e) {
    }
    运行时需要打开-ea开关。
      

  3.   

    如果你就是为避开if还可以这么写,在各个区域输入的时候附一个标志值,例如a输入了用int a = 0;,然后:
    int a = 0,b = 1,c = 2,d=4;
    int result = a+b+c+d;
    switch (result) {
    case 7:
    //code1
    break;
    case 4:
    //code2
    break; default:
    break;
    }