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());
}
}