所以我想要计算国家保险,我使用3个IF语句。如果语句的功能在java
/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());
}
}
它们不返回正确的值。有人可以帮忙吗?
什么不行? – BobTheBuilder 2013-02-26 09:57:05
以什么方式不起作用? – 2013-02-26 10:00:35
@ user2110669:为了帮助您,我们至少需要知道您的方法定义以及变量的类型。另外,说“_他们不会返回正确的值_”并不是很具体。你的意见是什么?你期望什么产出(以及为什么)?实际输出是多少? – jlordo 2013-02-26 10:00:42