62,623
社区成员
发帖
与我相关
我的任务
分享public class EmployeeTest {
/**
* 某单位的员工有姓名等信息,现在需要根据员工类型的不同分别计算他们的周薪
* 1. 老板(BossEmployee)
* 每周的固定工资为:600元,没有加班费
* 2. 管理人员(ManagerEmployee)
* 每周固定管理员底薪:200元,每周额定工作40小时,每小时5元,超过40小时的部分,
* 加班费每小时7.5元
* 3. 销售员(SellerEmployee)
* 每周的销售金额提成5%作为周薪,没有加班费
* 4. 无底薪的临时工(FloaterEmployee)
* 以工作小时计算,与管理人员的每周工作小时数、每小时工资和加班费一致
* 5. 有底薪的临时工(BaseWageFloaterEmployee)
* 以无底薪的临时工方式计算,再加上普通底薪100元。
*
* 现要求根据以上信息,以面向对象方式设计一些类。
*
* 让这个main方法可以运行,以获得工资
*
*/
public static void main(String[] args) {
// BaossEmployee构造参数:String:姓名
Employee boss = new BossEmployee("boss");
// ManagerEmployee构造参数:String:姓名, double:工作时间
Employee manager = new ManagerEmployee("manager", 44);
// SellerEmployee构造参数:String:姓名, double:销售量
Employee seller = new SellerEmployee("seller", 6000);
// FloaterEmployee构造参数:String:姓名, double:工作时间
Employee floater = new FloaterEmployee("floater", 44);
// BaseWageFloaterEmployee构造参数:String:姓名, double:工作时间
Employee baseFloater = new BaseWageFloaterEmployee("baseFloater", 44);
// 输出格式:
// Name: 员工姓名 Wage: 工资(保留两位小数)
System.out.println(boss);
System.out.println(manager);
System.out.println(seller);
System.out.println(floater);
System.out.println(baseFloater);
System.out.println();
System.out.printf("Name: %-15sWage: %.2f%n", boss.getName(), boss.getWageEarn());
System.out.printf("Name: %-15sWage: %.2f%n", manager.getName(), manager.getWageEarn());
System.out.printf("Name: %-15sWage: %.2f%n", seller.getName(), seller.getWageEarn());
System.out.printf("Name: %-15sWage: %.2f%n", floater.getName(), floater.getWageEarn());
System.out.printf("Name: %-15sWage: %.2f%n", baseFloater.getName(), baseFloater.getWageEarn());
}
}