Java面向对象练习

/**

  • 做一个小练习
  • 员工表:
  • 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);
	
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值