1

以下のような方法があります。循環的な複雑さを避けるためにご協力ください。

private double getSum(Data data) {
    double total = 0;

    if(parameters.getParam1())
      total += data.getParam1();

    if(parameters.getParam2())
      total += data.getParam2();

    if(parameters.getParam3())
      total += data.getParam3();

    if(parameters.getParam4())
      total += data.getParam4();

    if(parameters.getParam5())
      total += data.getParam6();

    if(parameters.getParam6())
      total += data.getParam6();

    if(parameters.getParam7())
      total += data.getParam7();

    if(parameters.getParam8())
      total += data.getParam8();

    return total;
}
4

4 に答える 4

1

Parameter他の人が述べたように、 andDataクラスを書き直して、次のように使用する方がよいでしょう:

double total=0; 
for (int i=1; i<=8;i++)
    if (parameters.hasParam(i))
        total+ = data.getParam(i);
return total;
于 2014-01-22T07:41:35.427 に答える