abstract class Employee {
// 声明一个公有的抽象方法earnings,方法返回类型为double
public abstract double earnings();
}
class YearWorker extends Employee {
// 【代码1】 //重写earnings()方法。
@Override
public double earnings() {
return 120000;// 返回年薪
}
}
class MonthWorker extends Employee {
// 【代码2】 //重写earnings()方法。
@Override
public double earnings() {
return 8000;// 返回月薪
}
}
class WeekWorker extends Employee {
// 【代码3】 //重写earnings()方法。
@Override
public double earnings() {
return 1000;// 返回星期薪
}
}
class Company {
Employee[] employee;
double salaries = 0;
Company(Employee[] employee) {
this.employee = employee;
}
public double salariesPay() {
salaries = 0;
// 【代码4】 //计算salaries。
for (int i = 0; i < employee.length; i++) {
if (YearWorker.class.isInstance(employee[i]))
salaries += employee[i].earnings();
if (MonthWorker.class.isInstance(employee[i]))
salaries += employee[i].earnings() * 12;
if (WeekWorker.class.isInstance(employee[i]))
salaries += employee[i].earnings() * 52;
}
return salaries;
}
}
public class HardWork {
public static void main(String args[]) {
Employee[] employee = new Employee[20];
for (int i = 0; i < employee.length; i++) {
if (i % 3 == 0)
employee[i] = new WeekWorker();
else if (i % 3 == 1)
employee[i] = new MonthWorker();
else if (i % 3 == 2)
employee[i] = new YearWorker();
}
Company company = new Company(employee);
System.out.println("公司年工资总额:" + company.salariesPay());
}
}
先试试 因为提交了经常出不来 所以我先占个位置 又出不来了
abstract class Employee {
// 声明一个公有的抽象方法earnings,方法返回类型为double
public abstract double earnings();
}
class YearWorker extends Employee {
// 【代码1】 //重写earnings()方法。
@Override
public double earnings() {
return 120000;// 返回年薪
}
}
class MonthWorker extends Employee {
// 【代码2】 //重写earnings()方法。
@Override
public double earnings() {
return 8000;// 返回月薪
}
}
class WeekWorker extends Employee {
// 【代码3】 //重写earnings()方法。
@Override
public double earnings() {
return 1000;// 返回星期薪
}
}
class Company {
Employee[] employee;
double salaries = 0;
Company(Employee[] employee) {
this.employee = employee;
}
public double salariesPay() {
salaries = 0;
// 【代码4】 //计算salaries。
for (int i = 0; i < employee.length; i++) {
if (YearWorker.class.isInstance(employee[i]))
salaries += employee[i].earnings();
if (MonthWorker.class.isInstance(employee[i]))
salaries += employee[i].earnings() * 12;
if (WeekWorker.class.isInstance(employee[i]))
salaries += employee[i].earnings() * 52;
}
return salaries;
}
}
public class HardWork {
public static void main(String args[]) {
Employee[] employee = new Employee[20];
for (int i = 0; i < employee.length; i++) {
if (i % 3 == 0)
employee[i] = new WeekWorker();
else if (i % 3 == 1)
employee[i] = new MonthWorker();
else if (i % 3 == 2)
employee[i] = new YearWorker();
}
Company company = new Company(employee);
System.out.println("公司年工资总额:" + company.salariesPay());
}
}
楼下的怎么这么拷贝我的成果呢?? 自己动手写才能学到东西