JAVA日期判断问题 5月前可休上一年的年休假

//根据工作年限计算可请假的天数
在以下类增加以功能,当日期为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;
 };

}