根据薪资,我需要为我的员工对象分配特定的税率。 薪水是由yearlySalary定义的,这是一个双精度浮点数,因此我无法使用switch语句。 我改用if / else:
public int getSalaryRank() {
if(yearlySalary <= 60000.00) {
salaryRank = 1;
} else if(yearlySalary > 60000.00 && yearlySalary <= 80000.00) {
salaryRank = 2;
} else if(yearlySalary > 80000.00 && yearlySalary <= 100000.00) {
salaryRank = 3;
} else if(yearlySalary > 100000.00 && yearlySalary <= 125000.00) {
salaryRank = 4;
} else {
salaryRank = 5;
} return salaryRank; }
我将根据等级稍后指定税率。有更好的写法吗?
BigDecimal
代替。 - Luiggi Mendoza>
条件都是多余的 - 每行的else
语句都保证了你使用>
运算符进行检查。而且请不要把double
用于货币! - Dawood ibn Kareemreturn 1 + new TreeSet(Arrays.asList(60000.00, 80000.00, 100000.00, 125000.00)).headSet(yearlySalary, true).size();
- Dawood ibn Kareem