2 回答

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超5個贊
在 Employee 中添加一個返回工資的抽象方法:
public abstract int getSalary();
并在每個子類中實(shí)現(xiàn)它:
// 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?
要計算平均值,請跟蹤總工資和計算的員工人數(shù),同時迭代每個員工:
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貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超3個贊
將構(gòu)造函數(shù)更改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 名員工做同樣的事情,那么使用循環(huán);
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();
}
}
添加回答
舉報