如果语句带有java中的函数

时间:2013-02-26 09:55:09

标签: java if-statement

所以我正在尝试计算国民保险,我正在使用3个IF语句。

/does not work
public double calculateNotContOut(){
    if (calculateWeeklyEarning()<upperEarningLevel){
        return (((calculateWeeklyEarning()-primaryThreshold)*primaryClassBetween)*52);
    }
    else {
        return (((upperEarningLevel-primaryThreshold)*primaryClassBetween+(calculateWeeklyEarning()-upperEarningLevel)*primaryClassAbove)*52);
    }
}
//does not work
public double calculateContOut(){
    if (calculateWeeklyEarning()<upperEarningLevel){
        return (((calculateWeeklyEarning()-primaryThreshold)*calculateReducedContribution())*52);
    }
    else{
        return (((upperEarningLevel-primaryThreshold)*calculateReducedContribution()+(calculateWeeklyEarning()-upperEarningLevel)*primaryClassAbove)*52);
    }
}

public double calculateNationalInsurance(){
    if (contractedOut){
        return (calculateContOut());
    }
    else {
        return (calculateNotContOut());
    }
}

他们没有返回正确的值。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

在Java中,如果条件仅处理Boolean类型或boolean premitive。

calculateWeeklyEarning()upperEarningLevel的返回值是可比较的

答案 1 :(得分:0)

检查calculateWeeklyEarning()的返回是否小于或等于upperEarningLevel。 if语句没有问题。