java 员工管理系统
员工管理系统数组版
第一部分 案例描述
案例目的
学习面向对象的主要特征和基本概念,包括类、对象、继承、封装、多态、方法的重载和重写、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 员工管理系统相关推荐
- java员工管理系统实验报告_java员工管理系统实验报告怎么写?员工管理系统的风险控制有哪些?...
员工管理系统在设计好后,要先试运行,实验成功后,才可以使用的.那大家知道java员工管理系统实验报告怎么写吗?还有,员工管理系统的风险控制有哪些呢?下面就让小编带大家一起来了解一下吧. java员工管 ...
- java员工管理系统代码_员工管理系统JAVA源码(源码大小8M)
员工管理系统JAVA源码(源码大小8M) 本站提供几百套大型商业源码,平均一元一套,火爆下载中...... QQ:283072.283672 EMAIL:web@hur.cn.jhwjeffrey@1 ...
- Java员工管理系统(控制台输出)
今天上午看完阅兵,爽,解放军太帅了!虽然现在是个小鲜肉横行的时代,但国家危亡的关键时刻还是得靠军人和社会的中流砥柱. 还有在网上看到"叠被子.走方队能把敌人叠死.走死吗",&quo ...
- [Java] 员工管理系统
声明:为了锻炼我的Java工程能力,我决定从头开始学习一遍Java全家桶.
- Java入门--员工管理系统
Java员工管理系统 需求 思路 定义员工类 主界面编写 查看员工的代码编写 新增员工代码的编写 判断工号是否被使用 修改员工代码的编写 删除员工的代码编写 需求 编写一个控制台版本的员工管理系统,员 ...
- java 管理系统 注释_员工管理系统--带注释--oracle系统--java项目
[实例简介] 员工管理系统--带注释--oracle系统--java项目 [实例截图] [核心代码] 31a0847e-5da9-43d6-b402-f60390d0396d └── person_M ...
- JAVA毕业设计HTML5企业员工管理系统计算机源码+lw文档+系统+调试部署+数据库
JAVA毕业设计HTML5企业员工管理系统计算机源码+lw文档+系统+调试部署+数据库 JAVA毕业设计HTML5企业员工管理系统计算机源码+lw文档+系统+调试部署+数据库 本源码技术栈: 项目架构 ...
- 基于Java毕业设计智创员工管理系统源码+系统+mysql+lw文档+部署软件
基于Java毕业设计智创员工管理系统源码+系统+mysql+lw文档+部署软件 基于Java毕业设计智创员工管理系统源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B/S架构 开 ...
- [附源码]计算机毕业设计JAVA企业员工管理系统
[附源码]计算机毕业设计JAVA企业员工管理系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(Inte ...
- 计算机毕业设计之java+springboot基于vue的人事管理系统-员工管理系统
计算机毕业设计之java+springboot基于vue的人事管理系统-员工管理系统 项目介绍 系统权限按管理员和员工这两类涉及用户划分. (a)管理员:管理员使用本系统涉到的功能主要有:首页,个人中 ...
最新文章
- Oracle编程入门经典 第2章 SQLPlus和基本查询
- insert返回主键 — mybatis selectKey
- my task is always searched based on employee responsible
- mockito mock void方法_使用 Junit + Mockito 实践单元测试!
- android layout 开关,Android多状态开关
- mysql的基本语句
- Linux 如何重启网络
- 图像处理中滤波(filtering)与卷积(convolution)的区别
- matlab 插值出错,MATLAB插值问题
- 怎么修改PDF文件的内容?教你两招快来看看
- java中items是什么意思,Ansible - 如何使用with_items中的寄存器名称
- DC初级摄友必学摄影技巧(转贴)
- nginx: [warn] conflicting server name 这里是域名 eg:abc.com on 0.0.0.0:80, ignored解决方法
- 螺栓校核matlab仿真
- 洛谷P1603,P1597
- python实习生基础面试题_常见的Python基本面试问题,python,基础,面试题
- 计算机专业助我成长作文600,资助助我成长作文
- TXT文件转Pascal voc数据集XML格式标注文件
- 如何计算近似纳什均衡_大角度单摆的运动近似(4):级数近似
- git config pull.rebase false是做什么的