/**
- 做一个小练习
- 员工表:
- id,姓名,入职如期,薪资,年龄,奖金。 {部门类}
- 部门表:
- 部门id,部门名称,部门地址。[员工数组]
- 员工等级: 不出现具体的员工信息和部门信息。
- 1500–2000 D级。
- 2000-2500 C级。
- 2500-3500 B级。
- 3500-5000 A级。
- 创建员工类,部门类,等级类,员工管理系统类,测试类
- 员工: 基本信息,部门,等级。
- 部门:开发部,人事部,数据部。
- 级别:假如输入C级别,导出员工信息 。 根据级别查询员工。
- 系统类: 写方法。根据方法的调用,来展示员工的等级。
- 测试类:Test
*/
package am;
/**
-
部门表
-
部门ID, 部门名称, 部门地址, [员工数组]
*/
public class Dept {public String id;
public String deptName;
public String address;
}
package am;
/**
-
员工表
-
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;
}
}
package am;
/**
-
员工等级类
-
员工等级: 不出现具体的员工信息和部门信息。
-
1500–2000 D级。
-
2000-2500 C级。
-
2500-3500 B级。
-
3500-5000 A级。
*/
public class Level {//员工等级计算方法
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 “无此级别”;
}
}
}
package am;
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员工级别"+Level.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员工级别"+Level.getLevel(emp));
System.out.println();
}
}
}
//根据级别查询员工
public void listEmpByLevel(String level, Employee[] emps){
System.out.println(level+"级别的员工有:");
for(int i = 0; i < emps.length; i++){
Employee emp = emps[i];
if(Level.getLevel(emp).equals(level)){
System.out.print(emp);
System.out.print("\t员工级别"+Level.getLevel(emp));
System.out.println();
}
}
}
}
package am;
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 = "西湖";
// 将部门赋值给员工
emp1.dept = dept;
emp2.dept = dept1;
emp3.dept = dept1;
Employee[] employees = new Employee[]{emp1,emp2,emp3};
// 实例化系统类:
EmpSystem es = new EmpSystem();
// 显示所有员工
es.show(employees);
// 根据部门,显示所有的员工。
es.listEmployeesByDept("研发部", employees);
//根据级别查询该级别员工
es.listEmpByLevel("D", employees);
}
}