大家好,问题是关于Java重载的。

问题遇到的现象和发生背景

使用方法的重载实现如下加薪功能:第一种加薪原则:工作时间在1-3年间的员工,增加现有工资的3%第二种加薪原则:工作在3-5年间的员工,可以按现有工资的5%加薪,但如果增加的工资大于设定的最大值,则只能按最大值增加。可以预先假定工资均为1000元。方法的原型如下:
double add(int year)
double add(int year ,double max) 这个是问题

用代码块功能插入代码,请勿粘贴截图

package mtlv;

public class TEXT6 {
private double salary;
public double add(int year) {
if(year < 3) {
return salary;
}
public double add(int year ,double max) {
if(year > 3 & year<5) {
if(year > max) {
return max;
}
else
{salary = salary+(salary*0.5)
}
}
return salary;
}
public class TestEmployee {
public void main(String[] args) {

         System.out.println(salary);
    }

}
}
}
这是我尝试的方法 。
哪里还有不对的啊?

你还需要好好审一下题,有几个问题:

  1. 3年以下的员工涨薪,你直接返回了salary,应该是salary*1.03再返回,否则你这不是没有加薪嘛;
  2. 3-5年的涨薪,year>max是什么意思。max是金额吧,year是年份,二者不能比较。应该是(salary*0.05)之后的大小与max比较;
  3. 细心点,3%是0.03,5%是0.05%