1、 要求修改實驗三自定義的Employee類,使其實作Comparable接口;
定義ReportCard類,在其中定義一員工對象的集合,并按員工姓名的字母排序傳回員工姓名和薪水的報表;
定義EmployeeTest類,通過在其中編寫測試代碼,驗證員工集合中的員工按姓名字母排序輸出;
import java.util.*;
class Employee implements Comparable<Employee> {
private String name;
private float salary;
private int id;
private int nextId;
Employee(String name,float salary,int id,int nextId){
this.name=name;
this.salary=salary;
this.id=id;
this.nextId=nextId;
}
String getName(){
return name;
}
float getSalary(){
return salary;
}
int getId(){
return id;
}
int getNextId(){
return nextId;
}
public int compareTo(Employee emp){
return this.getName().compareTo(emp.getName());
}
}
class ReportCard {
ArrayList<Employee> employees = new ArrayList<Employee>();
void addEmployee(Employee emp){
employees.add(emp);
}
String getInfo(){
StringBuilder buff =new StringBuilder();
Collections.sort(employees);
for (Employee emp:employees)
buff.append(
emp.getName() + " "+
emp.getSalary() +" "+
"/n-----------------------/n");
return buff.toString();
}
}
class EmployeeTest{
public static void main(String[] args){
ReportCard reportcard=new ReportCard();
Employee emp1=new Employee("zzhen",1500,1001,1002);
Employee emp2=new Employee("asdfg",2000,1002,1003);
Employee emp3=new Employee("htygd",2500,1003,1008);
reportcard.addEmployee(emp1);
reportcard.addEmployee(emp2);
reportcard.addEmployee(emp3);
System.out.print(reportcard.getInfo());
}
}