java员工管理_员工管理系统java版
员工管理系统要求如下:
通过面向对象的编程思想,实现员工信息的增删改查,存储结构为数组。限定数组长度为100。
实现页面:
添加员工
查找员工
修改员工
删除员工、退出
工程目录结构:
1.employee基类
/**
* @author 李广亮
*
*/
public class employee {
/**
* 成员属性:id、姓名、职务、请假天数、基本工资
*/
private string id;
private string name;
private string job;
private int holiday;
private double salary;
/**
* 计算工资
*/
public double sunsalary(double salary, int holiday) {
return salary - (salary/30) * holiday;
}
/**
* get和set方法
*/
public string getid() {
return id;
}
public void setid(string id) {
id = id;
}
public string getname() {
return name;
}
public void setname(string name) {
this.name = name;
}
public string getjob() {
return job;
}
public void setjob(string job) {
this.job = job;
}
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;
}
/**
* tostring()方法
*/
public string tostring() {
return "编号:" + id + ", 姓名:" + name + ", 职务" + job
+ ", 请假天数:" + holiday + ", 工资:" + salary;
}
}
2.普通员工类commonemployee
public class commonemployee extends employee {
/**
* 普通员工工资
* 在基本工资的基础上增加10%的工作餐,50%的岗位补助,200元住房补助
* @param 工资
* @param 请假天数
*/
@override
public double sunsalary(double salary, int holiday) {
double sum = salary + salary*0.1 + salary*0.5 + 200;
return sum - sum/30 * holiday;
}
}
3.经理manageremployee
public class manageremployee extends employee {
/**
* 经理工资
* 在基本工资的基础上增加20%的工作餐,50%的岗位补助,500元住房补助
* @param 工资
* @param 请假天数
*/
@override
public double sunsalary(double salary, int holiday) {
double sum = salary + salary*0.2 + salary*0.5 + 500;
return sum - sum/30 * holiday;
}
}
4.懂事directoremployee
public class manageremployee extends employee {
/**
* 经理工资
* 在基本工资的基础上增加20%的工作餐,50%的岗位补助,500元住房补助
* @param 工资
* @param 请假天数
*/
@override
public double sunsalary(double salary, int holiday) {
double sum = salary + salary*0.2 + salary*0.5 + 500;
return sum - sum/30 * holiday;
}
}
5.业务逻辑类testemd
/**
* @author 李广亮
*
*/
public class testemd {
/**
* len代表数组的当前下标
*/
static int len = -1;
static employee[] emp = new employee[100];
static scanner sc = new scanner(system.in);
/**
* 增加新雇员
*/
public void addemployee() {
employee em = null;
system.out.println("---增加员工---");
system.out.print("请输入员工编号:");
string id = sc.next();
system.out.print("请输入员工姓名:");
string name = sc.next();
system.out.print("请输入员工职务(员工、经理、懂事):");
string job = sc.next();
system.out.print("请输入员工请假天数:");
int holiday = sc.nextint();
system.out.print("请输入员工基本工资:");
double salary = sc.nextdouble();
//在此作一下逻辑判断,根据job的不同,创建不同的employee子类
if(job.equals("员工")) {
em = new commonemployee();
} else if(job.equals("经理")) {
em = new manageremployee();
} else if(job.equals("懂事")) {
em = new directoremployee();
} else {
system.out.println("输入不正确!");
}
em.setid(id);
em.setname(name);
em.setjob(job);
em.setholiday(holiday);
em.setsalary(salary);
//len先加1后使用,变为emp[0]
emp[++len] = em;
printemployee(emp[len]);
system.out.println("添加成功!");
}
/**
* 删除员工
*/
public void deleteemployee() {
system.out.println("------删除员工------");
system.out.println("---请输入员工姓名:---");
//设置一个boolean类型的flg标志,若查找不到则为false
boolean flg = false;
string name = sc.next();
for(int i=0; i<=len; i++) {
//若查找成功,则把emp[i]数组后面的指针往前移一位,覆盖掉当前的指向对象
if(emp[i].getname().equals(name)) {
printemployee(emp[i]);
for(int j=i; j<=len; j++) {
emp[j] = emp[j+1];
}
//前移后,最后一位置空,len--
emp[len] = null;
len--;
system.out.println("删除成功!");
flg = true;
break;
}
}
if(!flg) {
system.out.println("查无此人,请重新输入:");
deleteemployee();
}
}
/**
* 修改雇员信息
* @param args
* @return
*/
public void updateemployee() {
system.out.println("------修改员工------");
system.out.println("---请输入员工姓名:---");
//设置一个boolean类型的flg标志,若查找不到则为false
boolean flg = false;
string name = sc.next();
for(int i=0; i<=len; i++) {
if(emp[i].getname().equals(name)) {
printemployee(emp[i]);
system.out.println("---请按照提示输入修改信息---");
system.out.print("请输入员工编号:");
emp[i].setid(sc.next());
system.out.print("请输入员工姓名:");
emp[i].setname(sc.next());
system.out.print("请输入员工职务(员工、经理、懂事):");
emp[i].setjob(sc.next());
system.out.print("请输入员工请假天数:");
emp[i].setholiday(sc.nextint());
system.out.print("请输入员工基本工资:");
emp[i].setsalary(sc.nextdouble());
//修改完成后打印一下
printemployee(emp[i]);
system.out.println("修改成功!");
flg = true;
break;
}
}
if(!flg) {
system.out.println("查无此人,请重新输入:");
updateemployee();
}
}
/**
* 根据姓名查找雇员信息
* @param args
*/
public void findemployee() {
system.out.println("------查找员工------");
system.out.println("---请输入员工姓名:---");
//设置一个boolean类型的flg标志,若查找不到则为false
boolean flg = false;
string name = sc.next();
for( int i=0; i<=len; i++) {
if(emp[i].getname().equals(name)) {
printemployee(emp[i]);
system.out.println("查找成功!");
flg = true;
break;
}
}
if(!flg) {
system.out.println("查无此人,请重新输入:");
findemployee();
}
}
/**
* 打印雇员信息
* @param args
*/
public void printemployee(employee em) {
system.out.print(" 编号: " + em.getid());
system.out.print(" 姓名: " + em.getname());
system.out.print(" 职务: " + em.getjob());
system.out.print(" 请假天数 : " + em.getholiday());
//参数:1.基本工资 2.请假天数
double sum = em.sunsalary(em.getsalary(), em.getholiday());
system.out.println(" 工资:" + sum);
}
public static void main(string[] args) {
testemd te = new testemd();
//开始界面
system.out.println("|----------------|");
system.out.println("|-----1. 增加 -----|");
system.out.println("|-----2. 删除 -----|");
system.out.println("|-----3. 修改 -----|");
system.out.println("|-----4. 查询 -----|");
system.out.println("|-----0. 退出 -----|");
system.out.println("|----------------|");
//业务选择
label : while(true) {
system.out.println("请选择业务:");
int select = sc.nextint();
switch (select) {
case 1: //添加新雇员
te.addemployee();
break;
case 2: //删除雇员
te.deleteemployee();
break;
case 3: //修改雇员信息
te.updateemployee();
break;
case 4: //根据姓名查找雇员信息
te.findemployee();
break;
case 0: //退出
system.out.println("退出成功!");
break label;
default:
system.out.println("您输入的数字不正确!");
break;
}
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。
希望与广大网友互动??
点此进行留言吧!
java员工管理_员工管理系统java版相关推荐
- java出版社系统_图书管理系统java版
本文的目的就是通过图书管理系统掌握数据库编程技术,能正确连接数据库,能对数据库中信息进行查询.插入.删除.修改. 内容:在数据库中创建一张书目信息表,包括书名.作者.出版社.出版日期.书号.价格字段. ...
- 宿舍住宿管理java课程设计_宿舍管理系统Java课程设计
宿舍管理系统Java课程设计 Java 课程设计设计(论文) 题目: 宿舍管理系统 所 在 院: 专 业 : 班 级 : 学 生 姓 名: 学 号: 指 导 教 师: 年 月 日课程设计(论文)任务书 ...
- java策略管理_详解Java编程中的策略模式
策略模式属于对象的行为模式.其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换.策略模式使得算法可以在不影响到客户端的情况下发生变化. 策略模式的结构 策略模式 ...
- 基于javaweb的员工出差请假考勤管理系统(java+jsp+layui+html+servlet+mysql)
基于javaweb的员工出差请假考勤管理系统(java+jsp+layui+html+servlet+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclips ...
- 基于javaweb的图书馆图书管理借阅书籍管理系统(java+ssm+jsp+html+mysql)
基于javaweb的图书馆图书管理借阅书籍管理系统(java+ssm+jsp+html+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/ ...
- [转载] Java内存管理-你真的理解Java中的数据类型吗(十)
参考链接: Java中的字符串类String 1 做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开! 推荐阅读 第一季 0.Java的线程安全.单例模式.JVM内存结构等知识 ...
- java sql 工资管理,企业工资管理系统(Java+MySQL)Word版
<企业工资管理系统(Java+MySQL)Word版>由会员分享,可在线阅读,更多相关<企业工资管理系统(Java+MySQL)Word版(24页珍藏版)>请在人人文库网上搜索 ...
- java相册管理_基于jsp的相册管理系统-JavaEE实现相册管理系统 - java项目源码
基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的相册管理系统, 该项目可用各类java课程设计大作业中, 相册管理系统的系统架构分为前后台两部分, 最终实现在线上 ...
- MySQL运动会管理系统_运动会管理系统(JAVA,JSP,SERVLET,SQLSERVER)
运动会管理系统(JAVA,JSP,SERVLET,SQLSERVER)的设计与实现(毕业论文16000字以上共39页,程序代码,MySQL数据库) [运行环境]MyEclipse,JDK,TOMCAT ...
最新文章
- POJ值得做的题目(一)
- 10个让人厌烦的编程语言
- sql 函数 汉字转拼音
- nagios学习笔记(二)
- vue2使用$set()使对象新增属性后触发视图更新
- Django07:模板语法/标签/inclusion_tag/模版的继承
- 中国9大民居建筑,你都认识吗?
- python 数据科学 包_什么时候应该使用哪个Python数据科学软件包?
- 山东省计算机春季高考大纲,2017年山东春季高考专业知识考试大纲.doc
- python语言标识符命名规则_python标识符命名规范是什么
- Nginx 限制单个IP的并发连接数及对每个连接速度(限速)
- 刷排名优优软件_QQ群排名技术原理
- 针对唯一化实例对话框程序,及其命令行操作方法
- android 渠道排名,安卓APP渠道效果统计***排名
- 三、GAMIT解算之分步处理
- fstream、ifstream、ofstream创建新文件
- LADY M过了自己的“赏味期限”?
- 研究生带28岁腼腆导师一起相亲,被女生围追堵截要微信!
- 谭浩强c语言课后习题笔记[1-4章]
- Spring Cloud Finchley OpenFeign的重试配置相关的坑
热门文章
- 企业邮箱邮件如何备份?公司邮件如何转发?
- 2019李永乐考研数学 基础过关660题 数学一
- 多线程进阶=》JUC并发编程
- 【thinkPhP】96PHPCN音乐电台(支持收听酷狗收费音乐)
- CFENet: An Accurate and Efficient Single-Shot Object Detector for Autonomous Driving
- 阿里云高新技术企业认定介绍及常见问题
- wireshark流量分析实战
- oracle 用户无限期,oracle永久密码和登录次数无限制设置
- Python学习之requests接口测试
- 实达lq1900kiiie linux驱动下载,实达 LQ-1900KIIIE驱动