2 m0 37237190 m0_37237190 于 2017.01.03 11:31 提问

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;
}

3个回答

caozhy
caozhy   Ds   Rxr 2017.01.03 11:55
 Calendar cal = Calendar.getInstance();
int month = cal.get(Calendar.MONTH) + 1;
int result = getPermiDays(iYears - (month > 5 ? 0 : 1));

xionglangs
xionglangs   Rxr 2017.01.03 17:30

你这个判断如果是是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;
 };

}

ai977313677
ai977313677   2017.01.03 11:56

你这个判断的问题大了……
输入5,传给形参iYear 然后进去判断,然后,会执行if的哪一条指令?
你找找看错在哪。

qq_20757171
qq_20757171 有问题?没看出来啊。解答一下呗?
12 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!