//根据工作年限计算可请假的天数
在以下类增加以功能,当日期为5月31日后日执行以下语句,当日期为5月31号前时+加上上一年年休假天数!
public int getPermiDays(int iYears) {
//工作年限1-10年5天;10到20年10天;20年以上15天。
int iDays = 5;
if (iYears < 10) {
iDays = 5;
} else if (iYears < 20) {
iDays = 10;
} else {
iDays = 15;
}
return iDays;
}
Calendar cal = Calendar.getInstance();
int month = cal.get(Calendar.MONTH) + 1;
int result = getPermiDays(iYears - (month > 5 ? 0 : 1));
你这个判断的问题大了……
输入5,传给形参iYear 然后进去判断,然后,会执行if的哪一条指令?
你找找看错在哪。
你这个判断如果是是5年,则它符合第一个条件iDays = 5;之后第二个条件他也符合iDays = 10;第三个条件它也符合iDays = 15;那么问题来了,一个工作年限小于5年的竟然也可以休15天。
Calendar cal = Calendar.getInstance();
int month = cal.get(Calendar.MONTH) ;//月份从0开始。
if(month>4){
if(1<=1iYears && 1iYears<10){
iDays = 5;
};
if(10<=1iYears && 1iYears<20){
iDays = 10;
};
if(20<=1iYears ){
iDays = 15;
};
}