员工管理系统数组版

第一部分 案例描述

案例目的

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

案例难度

★★★

案例覆盖技能点

1、  流程控制语句

2、  类、对象

3、  封装、继承、多态

4、  方法的重载、重写

5、  访问修饰符

6、  static、finally

适用课程和对象

JAVA面向对象编程基础

第二部分  需求和开发环境

使用技术和开发环境

JEclipse3.0或以上、JDK7.0或以上

案例需求

需求说明:

员工信息的基本情况

普通员工

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

普通员工工资:

在基本工资的基础上增加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

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

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

通过面向对象的编程思想,实现员工信息的增删改查,存储结构为数组。限定数组长度为100,业务流程如下

一、 启动业务选择界面

二、 增加员工

1.增加普通员工

2.增加经理

3.增加董事长

三、 删除

四、 修改

4、查询

系统基本模块包括:

功能点

难度

备注

父类Employee类的创建

★★★

 

三个子类:CommonEmployee类,Manager类和Director类的创建

★★★

 

管理类TestEMD类——增加

★★★★

 

管理类TestEMD类——删除

★★★★

 

管理类TestEMD类——修改

★★★★

 

管理类TestEMD类——查询

★★★★

 

项目类汇总

//源代码

package com.hp.employees;public class Employee {private String id;private String name;private String position;private int holiday;private double salary;/** 创建类的时候如果自己没有写构造方法,* 系统提供一个默认的无参构造方法*/public Employee(){}如不写 系统会提供默认的构造函数/** 重载*/public Employee(String id,String name,String position,int holiday,double salary){this.id=id;this.name=name;this.position=position;this.holiday=holiday;this.salary=salary;   }/** get set函数(方法)**/public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPosition() {return position;}public void setPosition(String position) {this.position = position;}public int getHoliday() {return holiday;}public void setHoliday(int holiday) {this.holiday = holiday;}public double getSalary() {return salary;}public void setSalary(double salary) {this.salary = salary;}/** 工资计算方式*/public double sumSalary(int holiday){return 1;}/** 显示详细信息*/public void display(){System.out.println("编号: "+this.id+" 姓名: "+this.name+" 职务: "+this.position+" 请假天数:"+this.holiday+" 工资: "+this.sumSalary(this.holiday));}}

//普通员工类

package com.hp.employees;public class CommonEmployee extends Employee {
/** 构造方法*/public CommonEmployee(String id,String name,String position,int holiday,double salary){super(id, name, position, holiday, salary);this.setId(id);this.setName(name);this.setPosition(position);this.setHoliday(holiday);this.setSalary(salary);}/** 重写父类工资计算方法*/public double sumSalary(int holiday){return (this.getSalary()*1.6+200)/30*(30-this.getHoliday());}}

//经理类

package com.hp.employees;public class Manager extends Employee{
/** 构造方法*/public Manager(String id,String name,String position,int holiday,double salary){this.setId(id);this.setName(name);this.setPosition(position);this.setHoliday(holiday);this.setSalary(salary);}/** 重写父类工资计算方法*/public double sumSalary(int holiday){return (this.getSalary()*1.7+500)/30*(30-this.getHoliday());}
}

//董事长类

package com.hp.employees;public class Director extends Employee{/** 构造方法*/public Director(String id,String name,String position,int holiday,double salary){this.setId(id);this.setName(name);this.setPosition(position);this.setHoliday(holiday);this.setSalary(salary);}/** 重写父类工资计算方法*/public double sumSalary(int holiday){return (this.getSalary()*1.38+2000+3000)/30*(30-this.getHoliday());}
}

//测试类

package com.hp.employees;import java.util.Scanner;public class TestEMD {/** 成员属性*/public static Employee[] ems=new Employee[100];public static int maxIndex=-1;/** 增加*/public static void addEmplyee(){Scanner sc=new Scanner(System.in);System.out.println("请输入员工编号:");String id=sc.next();System.out.println("请输入员工姓名:");String name=sc.next();System.out.println("请输入员工职务(普通员工,经理,董事长):");String position=sc.next();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);System.out.println("增加数据成功");newOne.display();maxIndex++;ems[maxIndex]=newOne;}else if(position.equals("经理")){Employee newOne=new Manager(id, name, position, holiday, salary);System.out.println("增加数据成功");newOne.display();maxIndex++;ems[maxIndex]=newOne;}else if(position.equals("董事长")){Employee newOne=new Director(id, name, position, holiday, salary);System.out.println("增加数据成功");newOne.display();maxIndex++;ems[maxIndex]=newOne;}else{System.out.println("你所输入的职务不存在");}}/** 删除*/public static void delEmployee(){Scanner sc= new Scanner(System.in);System.out.println("请输入要删除的员工姓名");String delName=sc.next();boolean b1=false;for(int i=0;i<=maxIndex;i++){if(ems[i].getName().equals(delName)){ems[i].display();System.out.println("删除数据成功");for(;i<=maxIndex;i++){ems[i]=ems[i+1];b1=true;maxIndex--;}}}if(!b1){System.out.println("你要删除的人不存在");}}/** 修改*/public static void updateEmployee(){Scanner sc=new Scanner(System.in);System.out.println("请输入你要修改的员工姓名");String updateName=sc.next();boolean b1=false;for(int i=0;i<=maxIndex;i++){if(ems[i].getName().equals(updateName)){ems[i].display();System.out.println("请重新输入员工信息");System.out.println("请输入员工编号");String id=sc.next();System.out.println("请输入员工姓名");String name=sc.next();System.out.println("请输入员工职务(普通员工,经理,董事长)");String position=sc.next();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);System.out.println("修改数据成功");newOne.display();ems[i]=newOne;}else if(position.equals("经理")){Employee newOne=new Manager(id, name, position, holiday, salary);System.out.println("修改数据成功");newOne.display();ems[i]=newOne;}else if(position.equals("董事长")){Employee newOne=new Director(id, name, position, holiday, salary);System.out.println("修改数据成功");newOne.display();ems[i]=newOne;}else{System.out.println("你所输入的职务不存在");}}}}/** 查找*/public static void queryEmployee(){Scanner sc=new Scanner(System.in);System.out.println("请输入员工姓名");String name=sc.next();boolean b1=false;for(int i=0;i<=maxIndex;i++){if(ems[i].getName().equals(name)){ems[i].display();b1=true;}}if(!b1){System.out.println("你要查找的人不存在");}}/** main方法*/public static void main(String[] args) {// TODO Auto-generated method stub
/** 业务选择界面* */Scanner sc=new Scanner(System.in);while(true){System.out.println("|--------------|");System.out.println("|----1 增加-----|");System.out.println("|----2 删改-----|");System.out.println("|----3 修改-----|");System.out.println("|----4 查询-----|");System.out.println("|----5 退出-----|");System.out.println("|--------------|");System.out.println("请选择业务:");int choose=sc.nextInt();/** switch语句*/switch(choose){case 1:addEmplyee();break;case 2:delEmployee();break;case 3:updateEmployee();break;case 4:queryEmployee();break;case 5:System.exit(0);default:System.out.println("你所需的业务不存在,重新输入");}    }}
}

java 员工管理系统相关推荐

  1. java员工管理系统实验报告_java员工管理系统实验报告怎么写?员工管理系统的风险控制有哪些?...

    员工管理系统在设计好后,要先试运行,实验成功后,才可以使用的.那大家知道java员工管理系统实验报告怎么写吗?还有,员工管理系统的风险控制有哪些呢?下面就让小编带大家一起来了解一下吧. java员工管 ...

  2. java员工管理系统代码_员工管理系统JAVA源码(源码大小8M)

    员工管理系统JAVA源码(源码大小8M) 本站提供几百套大型商业源码,平均一元一套,火爆下载中...... QQ:283072.283672 EMAIL:web@hur.cn.jhwjeffrey@1 ...

  3. Java员工管理系统(控制台输出)

    今天上午看完阅兵,爽,解放军太帅了!虽然现在是个小鲜肉横行的时代,但国家危亡的关键时刻还是得靠军人和社会的中流砥柱. 还有在网上看到"叠被子.走方队能把敌人叠死.走死吗",&quo ...

  4. [Java] 员工管理系统

    声明:为了锻炼我的Java工程能力,我决定从头开始学习一遍Java全家桶.

  5. Java入门--员工管理系统

    Java员工管理系统 需求 思路 定义员工类 主界面编写 查看员工的代码编写 新增员工代码的编写 判断工号是否被使用 修改员工代码的编写 删除员工的代码编写 需求 编写一个控制台版本的员工管理系统,员 ...

  6. java 管理系统 注释_员工管理系统--带注释--oracle系统--java项目

    [实例简介] 员工管理系统--带注释--oracle系统--java项目 [实例截图] [核心代码] 31a0847e-5da9-43d6-b402-f60390d0396d └── person_M ...

  7. JAVA毕业设计HTML5企业员工管理系统计算机源码+lw文档+系统+调试部署+数据库

    JAVA毕业设计HTML5企业员工管理系统计算机源码+lw文档+系统+调试部署+数据库 JAVA毕业设计HTML5企业员工管理系统计算机源码+lw文档+系统+调试部署+数据库 本源码技术栈: 项目架构 ...

  8. 基于Java毕业设计智创员工管理系统源码+系统+mysql+lw文档+部署软件

    基于Java毕业设计智创员工管理系统源码+系统+mysql+lw文档+部署软件 基于Java毕业设计智创员工管理系统源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B/S架构 开 ...

  9. [附源码]计算机毕业设计JAVA企业员工管理系统

    [附源码]计算机毕业设计JAVA企业员工管理系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(Inte ...

  10. 计算机毕业设计之java+springboot基于vue的人事管理系统-员工管理系统

    计算机毕业设计之java+springboot基于vue的人事管理系统-员工管理系统 项目介绍 系统权限按管理员和员工这两类涉及用户划分. (a)管理员:管理员使用本系统涉到的功能主要有:首页,个人中 ...

最新文章

  1. Oracle编程入门经典 第2章 SQLPlus和基本查询
  2. insert返回主键 — mybatis selectKey
  3. my task is always searched based on employee responsible
  4. mockito mock void方法_使用 Junit + Mockito 实践单元测试!
  5. android layout 开关,Android多状态开关
  6. mysql的基本语句
  7. Linux 如何重启网络
  8. 图像处理中滤波(filtering)与卷积(convolution)的区别
  9. matlab 插值出错,MATLAB插值问题
  10. 怎么修改PDF文件的内容?教你两招快来看看
  11. java中items是什么意思,Ansible - 如何使用with_items中的寄存器名称
  12. DC初级摄友必学摄影技巧(转贴)
  13. nginx: [warn] conflicting server name 这里是域名 eg:abc.com on 0.0.0.0:80, ignored解决方法
  14. 螺栓校核matlab仿真
  15. 洛谷P1603,P1597
  16. python实习生基础面试题_常见的Python基本面试问题,python,基础,面试题
  17. 计算机专业助我成长作文600,资助助我成长作文
  18. TXT文件转Pascal voc数据集XML格式标注文件
  19. 如何计算近似纳什均衡_大角度单摆的运动近似(4):级数近似
  20. git config pull.rebase false是做什么的

热门文章

  1. 自动量程万用表的实现原理_电子元器件用指针万用表、数字万用表、自动量程万用表测量原理图解大全教会您怎么看与测的呢?...
  2. CAUSALITY FOR MACHINE LEARNING
  3. 园林景观cad_景观广场及绿化设计(附CAD平面图)
  4. 基于文本数据的情感分析系统
  5. Rational.Rose7.0系统软件
  6. 大数据平台建设关键技术
  7. 易用宝项目记录day2-框架搭建
  8. office2013 安装易用宝不成功
  9. 关于web3营销的一切知识
  10. 数据库技术与应用课程设计-学生信息管理系统