2 回答
TA贡献1875条经验 获得超5个赞
在 Employee 中添加一个返回工资的抽象方法:
public abstract int getSalary();
并在每个子类中实现它:
// class names start with upper case character
class FullTimeEmployee extends Employee
{
// don't use float, represent money in cents (and you should maybe represent the currency separately)
int salary;
// 'des' is not clear
int designtation;
fullTimeEmployee()
{
System.out.println("Enter Designation:");
designtation = get.nextInt();
System.out.println("Enter Salary:");
salary = get.nextInt();
public abstract int getSalary() {
return salary;
}
为什么是rate = 8 & workingHours?
要计算平均值,请跟踪总工资和计算的员工人数,同时迭代每个员工:
int count = 0;
int totalSalary = 0;
Employee emp;
while (emp = getEmployee() != null) {
count++;
totalSalary += emp.getSalary();
}
double avgSalary = totalSalary / count;
System.out.println("Avg salary: " + avgSalary);
}
private Employee getEmployee() {
Employeee emp = null;
System.out.println("Part time or full time employee? any other key to quit (p/f):");
String input = get.nextString();
if ("f".equalsIgnoreCase(input)) {
System.out.println("================================"+"\n"+"Enter Full Time Employee Details"+"\n"+"================================"+"\n");
emp = new FullTimeEmployee();
}
else if ("p".equalsIgnoreCase(input)) {
emp = new PartTimeEmployee();
System.out.println("================================"+"\n"+"Enter Part Time Employee Details"+"\n"+"================================"+"\n");
}
return emp;
}
TA贡献1895条经验 获得超3个赞
将构造函数更改fullTimeEmployee为fullTimeEmployees
class fullTimeEmployees extends Employee
{
float salary;
int des;
fullTimeEmployees()
{
System.out.println("Enter Designation:");
des = get.nextInt();
System.out.println("Enter Salary:");
salary = get.nextFloat();
}
void display()
{
System.out.println("=============================="+"\n"+"Full Time Employee Details"+"\n"+"=============================="+"\n");
super.display();
System.out.println("Salary: "+salary);
System.out.println("Designation: "+des);
}
}
这适用于一名员工。如果你想为 20 名员工做同样的事情,那么使用循环;
public static void main(String args[])
{
fullTimeEmployees[] fullTimeEmployees= new fullTimeEmployees[20];
partTimeEmployees[] partTimeEmployees= new partTimeEmployees[20];
for(int i=0;i<20;i++){
System.out.println("================================"+"\n"+"Enter Full Time Employee Details"+"\n"+"================================"+"\n");
fullTimeEmployees[i] = new fullTimeEmployees();
System.out.println("================================"+"\n"+"Enter Part Time Employee Details"+"\n"+"================================"+"\n");
partTimeEmployees[i] = new partTimeEmployees();
}
System.out.println("================================"+"\n"+"Full Time Employee Details"+"\n"+"================================"+"\n");
for(int i=0 ;i<20;i++){
fullTimeEmployees[i].display();
}
System.out.println("================================"+"\n"+"Part Time Employee Details"+"\n"+"================================"+"\n");
for(int i=0 ;i<20;i++){
partTimeEmployees[i].calculatepay();
partTimeEmployees[i].display();
}
}
添加回答
举报