我需要为" r"写一个方法。普通工人和" o"加班工人的工资。
常规是按小时计算*工作小时数。
加班费是小时费率*前40小时工作小时数,40小时后每小时工作小时费率1.5小时。
pre:
otStatus
必须是" o"加班或" r"常规(字母可以是大写或小写)。
交的:
方法返回ot或常规
的周薪代码:
这是我现在的代码:
public static double weeklySalary(double hourlyRate1, double hours1, String otStatus) {
double regularSalary;
double otSalary;
if (otStatus.equalsIgnoreCase("o")) {
if (hours1 > 40 ) {
salary = // What do I have to write here?
}
return salary;
}
if (otStatus.equalsIgnoreCase("r")) {
salary = hours1 * hourlyRate1;
}
return salary;
return 0; //incase nothing is true so program doesn't crash
}
}
另外,如果我需要打印出来:
System.out.printf("对于(n)加班工人收入" + hourlyRate +"每小时工作" +小时+"小时,$%。 2f是周薪",薪水);
如何根据加班时间每次更换薪水?
答案 0 :(得分:1)
快速解决方案:
public static double getSalary(double rate, double hours, String status) {
if(status.equalsIgnoreCase("o") && hours > 40)
return 40 * rate + (1.5 * rate) * (hours-40);
return rate * hours;
}
答案 1 :(得分:0)
前40个小时,标准小时费率,额外小时费用,1.5 *小时费率,如你所说:
if (hours1 > 40 ) {
salary = 40 * hourlyRate1 + (hours1 - 40) * 1.5 * hourlyRate1;
} else {
salary = hours1 * hourlyRate1;
}