需求
员工表:
- id,姓名,入职如期,薪资,年龄,奖金。 {部门类}
- 部门表:
- 部门id,部门名称,部门地址。[员工数组]
- 员工等级: 不出现具体的员工信息和部门信息。
- 1500–2000 D级。
- 2000-2500 C级。
- 2500-3500 B级。
- 3500-5000 A级。
- 员工: 基本信息,部门,等级。
- 部门:开发部,人事部,数据部。
- 级别:C 。 根据级别查询员工。
- 系统类: 写方法。根据方法的调用,来展示员工的等级。
- 测试类:Test
根据需求我们需要创建5个对象
部门类
- 部门表:
- 部门id,部门名称,部门地址。[员工数组]
public class Dept {
public String id;
public String deptName;
public String address;
}
2.员工类
员工表:
- id,姓名,入职如期,薪资,年龄,奖金。 {部门类}
public class Employee {
public String id;
public String name;
public String date;
public double salary;
public int age;
public int comm;
//部门类
public Dept dept;
public String toString(){
return "员工编号:"+id+"\t员工姓名:"+name+"\t入职日期:"+date+
"\t薪资:"+salary+"\t年龄:"+age+"\t奖金:"+comm+"\t部门:"+dept.deptName;
}
3.等级类
创建一个关于等级的方法
public class Leve {
//员工等级计算方法/
public static String getLevel(Employee emp){
if(emp.salary>=1500 && emp.salary<=2000){
return "D";
}else if(emp.salary>2000 && emp.salary<=2500){
return "C";
}else if(emp.salary>2500 && emp.salary<=3500){
return "B";
}else if(emp.salary>3500 && emp.salary<=5000){
return "A";
}else{
return "无此级别";
}
}
}
4.系统类
public class EmpSystem {
//展示员工所有信息
public void show(Employee[] emps){
System.out.println("所有员工信息");
for(int i = 0;i<emps.length;i++){
Employee emp=emps[i];
System.out.print(emp);
System.out.print("\t员工等级:"+Leve.getLevel(emp));
System.out.println();
}
}
//根据部门,显示所有员工
public void listEmployeesByDept(String dept,Employee[] emps){
System.out.println(dept+"的员工有:");
for(int i =0;i<emps.length;i++){
Employee emp=emps[i];
if(emp.dept.deptName.equals(dept)){
System.out.print(emp);
System.out.print("\t员工级别"+Leve.getLevel(emp));
System.out.println();
}
}
}
//根据级别,查询员工
public void listEmpByLevbel(String level,Employee[] emps){
System.out.println(level+"级别的员工有:");
for(int i=0;i<emps.length;i++){
Employee emp=emps[i];
if(Leve.getLevel(emp).equals(level)){
System.out.print(emp);
}
}
}
}
5.测试类
public class Test {
public static void main(String[] args) {
Employee emp1= new Employee();
emp1.name="赵四";
emp1.id="1001";
emp1.age=40;
emp1.comm= 500;
emp1.salary = 2050;
emp1.date = "1981-10-1";
Employee emp2 = new Employee();
emp2.name = "刘能";
emp2.id = "1002";
emp2.age = 38;
emp2.comm = 0;
emp2.salary = 3500;
emp2.date = "1981-9-22";
Employee emp3= new Employee();
emp3.name = "谢大坤";
emp3.id = "1003";
emp3.age = 35;
emp3.comm = 0;
emp3.salary = 1600;
emp3.date = "1979-2-19";
//实例化部门
Dept dept = new Dept();
dept.id = "2001";
dept.deptName = "人事部";
dept.address = "纽约";
Dept dept1 = new Dept();
dept1.id = "2002";
dept1.deptName = "研发部";
dept1.address = "墨西哥";
Dept dept2 = new Dept();
dept2.id = "2003";
dept2.deptName = "调试部";
dept2.address = "月球";
//将部门赋值给员工。
emp1.dept=dept;
emp2.dept=dept1;
emp3.dept=dept2;
Employee[] employees=new Employee[]{emp1,emp2,emp3};
//实例化系统类
EmpSystem es = new EmpSystem();
//现实所有员工
es.show(employees);
//根据部门,现实所有员工
es.listEmployeesByDept("人事部", employees);
//根据等级,显示所有员工
es.listEmpByLevbel("D", employees);
}
}