这真的很难表达,因为我不太确定我应该问什么,但基本上任务是做一个每周工资计算器(忽略税收),计算加班和正常工资
我有以下类
public class Hourly extends Employee {
private static double HourlyWage;
private static double Worked;
public Hourly(int Id, String Name, double HourlyWage, int Worked) {
super(Name, Id);
Hourly.HourlyWage = HourlyWage;
Hourly.Worked = Worked;
}
protected double WeeklyPay() {
if (Worked> 40) {
return (Worked - 40) * (HourlyWage * 1.5);
} else {
return HourlyWage * Worked;
}
}
@Override
public String toString() {
return "ID: " + Id + ", Name: " + Name + ", Hourly Wage: " + HourlyWage + ", Hours Worked: " + Worked;
}
和下面的构造函数
public static void main(String[] args) {
Hourly A = new Hourly (1111, "John Smith", 15.25, 40);
System.out.println(A);
Hourly B = new Hourly (2222, "Oliver Thomas", 15.50, 60);
System.out.println(B);
System.out.println("Weekly pay for Hourly worker: " + A.WeeklyPay());
System.out.println("Weekly pay for Hourly worker: " + B.WeeklyPay());
我得到的输出是:
ID: 1111,姓名:John Smith,小时工资:15.25,工作时间:40.0
ID: 2222,姓名:Oliver Thomas,时薪:15.5,工作时间:60.0
和
小时工周薪:465.0
小时工#2周薪:465.0
显然,它没有考虑工作的小时数或每小时的工资我该如何解决这个问题?
如果有任何进一步的细节,我需要提供让我知道,谢谢!
我所要做的就是把
Hourly.HourlyWage = HourlyWage;
Hourly.Worked = Worked;
我需要把它改成
this.hourlyWage = hourlyWage;
this.worked = worked;
此外,数学是不完整的,要计算每周加班的总数,正确的公式是
(worked - 40) * (hourlyWage * 1.5) + (hourlyWage * worked)
它神奇地起作用了