Java实现简单的员工管理系统

案例目的

       学习面向对象的主要特征和基本概念,包括类、对象、继承、封装、多态、方法的重载和重写、Java的访问修饰符与其它关键字以及集合等。

案例覆盖技能点

1、流程控制语句

2、类、对象

3、封装、继承、多态

4、方法的重载、重写

5、访问修饰符

6、集合

 

普通员工

属性:员工编号、员工姓名、员工职务、请假天数、基本工资

普通员工工资:

在基本工资的基础上增加10%的工作餐,50%的岗位补助,200元住房补助

基本工资+基本工资*0.1+基本工资*0.5+200

经理

属性:员工编号、员工姓名、员工职务、请假天数、基本工资

经理工资:

在基本工资的基础上增加20%的工作餐,50%的岗位补助,500元住房补助

基本工资+基本工资*0.2+基本工资*0.5+500

董事

属性:员工编号、员工姓名、员工职务、请假天数、基本工资

董事工资:

在基本工资的基础上增加8%的工作餐,30%的岗位补助,2000元住房补助,3000元投资补助

基本工资+基本工资*0.08+基本工资*0.3+2000+3000

工资扣除部分,所有员工都一样

无请假,基本工资全发,有请假,扣除每天平均工资 * 请假天数

 核心代码:

package my.employee;

import java.util.*;

public class EmployeeInformationPro {

public static ArrayList<Employee> ems = new ArrayList();

public void addEmployee(){

Scanner sc = new Scanner(System.in);

System.out.println("请输入员工编号:");

String id = sc.nextLine();

System.out.println("请输入员工姓名:");

String name = sc.nextLine();

System.out.println("请输入员工职务:(普通员工,经理,董事长)");

String position = sc.nextLine();

System.out.println("请输入员工请假天数:");

int holiday = sc.nextInt();

System.out.println("请输入员工基本工资:");

double salary = sc.nextDouble();

if(position.equals("普通员工")){

Employee newOne = new CommonEmployee(id,name,position,holiday,salary);

ems.add(newOne);

System.out.println("添加数据成功");

newOne.display();

}

else if(position.equals("经理")){

Employee newOne = new Manager(id,name,position,holiday,salary);

ems.add(newOne);

System.out.println("添加数据成功");

newOne.display();

}

else if(position.equals("董事长")){

Employee newOne = new Director(id,name,position,holiday,salary);

ems.add(newOne);

System.out.println("添加数据成功");

newOne.display();

}

else{

System.out.println("您所输入的职务不存在");

}

}

public void delEmployee(){

Scanner sc = new Scanner(System.in);

System.out.println("请输入员工编号:");

String id = sc.nextLine();

Iterator iter = ems.iterator();

int flag = 0;

while(iter.hasNext()){

Employee em = (Employee) iter.next();

if(id.equals(em.getID())){

em.display();

iter.remove();

System.out.println("编号为"+id+"的员工删除成功");

flag = 1;

break;

}

}

if(flag == 0){

System.out.println("编号为"+id+"的员工不存在");

}

}

public void queryEmployee(){

Scanner sc = new Scanner(System.in);

System.out.println("请输入员工编号:");

String id = sc.nextLine();

Iterator iter = ems.iterator();

int flag = 0;

while(iter.hasNext()){

Employee em = (Employee) iter.next();

if(id.equals(em.getID())){

em.display();

System.out.println("编号为"+id+"的员工查询成功");

flag = 1;

break;

}

}

if(flag == 0){

System.out.println("编号为"+id+"的员工不存在");

}

}

public void updateEmployee(){

Scanner sc = new Scanner(System.in);

System.out.println("请输入员工编号:");

String id = sc.nextLine();

Iterator iter = ems.iterator();

int flag = 0;

while(iter.hasNext()){

Employee em = (Employee) iter.next();

if(id.equals(em.getID())){

em.display();

System.out.println("请重新输入员工信息");

System.out.println("请输入员工编号:");

em.setID(sc.nextLine());

System.out.println("请输入员工姓名:");

em.setName(sc.nextLine());

System.out.println("请输入员工职务:(普通员工,经理,董事长)");

em.setPosition(sc.nextLine());

System.out.println("请输入员工请假天数:");

em.setHoliday(sc.nextInt());

System.out.println("请输入员工基本工资:");

em.setSalary(sc.nextDouble());

System.out.println("修改数据成功");

em.display();

flag = 1;

break;

}

}

if(flag == 0){

System.out.println("编号为"+id+"的员工不存在");

}

}

}

package my.employee;

import java.util.Scanner;

public class TestEmployee {

public static void main(String[] args){

while(true){

System.out.println("|---  1   增加  ---|");

System.out.println("|---  2   删除  ---|");

System.out.println("|---  3   修改  ---|");

System.out.println("|---  4   查询  ---|");

System.out.println("|---  0   退出  ---|");

System.out.println("请选择业务:");

Scanner sc = new Scanner(System.in);

int i = sc.nextInt();

EmployeeInformationPro ei = new EmployeeInformationPro();

switch(i){

case 1:ei.addEmployee();break;

case 2:ei.delEmployee();break;

case 3:ei.updateEmployee();break;

case 4:ei.queryEmployee();break;

case 0:System.exit(0);break; 

}

}

}

}

程序运行:



 



 

 

 

项目类汇总



 

 

猜你喜欢

转载自748739129.iteye.com/blog/2242843