工资管理系统(附源码,直接复制就可以跑起来)

分享一个Java Application的工资系统。

运行界面如下:

其他分类专栏也有一些其他的Java Web系统

点击分类专栏介绍查看

 直接创建如下的5个Java类文件。

1.项目工程

2.CommonEmployee类

package study;import java.util.*;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标志,若查找不到则为falseboolean 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标志,若查找不到则为falseboolean 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标志,若查找不到则为falseboolean 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("|-----1. 增加 -----|");System.out.println("|-----2. 删除 -----|");System.out.println("|-----3. 修改 -----|");System.out.println("|-----4. 查询 -----|");System.out.println("|-----0. 退出 -----|");//业务选择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;}}}}

3.DirectorEmployee类

package study;public class DirectorEmployee extends Employee {/*** 经理工资* 在基本工资的基础上增加20%的工作餐,50%的岗位补助,500元住房补助* @param 工资* @param 请假天数*/@Overridepublic double sunSalary(double salary, int holiday) {double sum = salary + salary*0.2 + salary*0.5 + 500;return sum - sum/30 * holiday;}}

4.Employee类

package study;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;}}

5.ManagerEmployee类

package study;public class ManagerEmployee extends Employee {/*** 经理工资* 在基本工资的基础上增加20%的工作餐,50%的岗位补助,500元住房补助* @param 工资* @param 请假天数*/@Overridepublic double sunSalary(double salary, int holiday) {double sum = salary + salary*0.2 + salary*0.5 + 500;return sum - sum/30 * holiday;}}

6.TestEMD类(main class)

package study;import java.util.*;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标志,若查找不到则为falseboolean 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标志,若查找不到则为falseboolean 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标志,若查找不到则为falseboolean 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("|-----1. 增加 -----|");System.out.println("|-----2. 删除 -----|");System.out.println("|-----3. 修改 -----|");System.out.println("|-----4. 查询 -----|");System.out.println("|-----0. 退出 -----|");//业务选择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;}}}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/49118.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何快速为子公司创建SAP财务账套的操作步骤

相对来说在SAP上配置一家子公司比从0开始创建创建一家公司可以节省很多步骤&#xff0c;因为子公司的很多配置&#xff08;如科目表&#xff0c;科目&#xff0c;折旧表&#xff0c;折旧代码等&#xff09;可以沿用母公司的。本文就简单介绍一下创建子公司财务账套的配置步骤.只…

【U8+】用友U8+对账不平案例及方法总结

【问题需求】 在使用用友U8软件过程中&#xff0c;由于软件涉及到多方面的对账。 所以经常会遇到期初或结账时对账不平。 【经验分享】 在众多对账中&#xff0c; 只有当【总账上下级】&#xff08;即&#xff1a;总账与明细账对账&#xff09;不平的时候&#xff0c; 软件才…

Android课设——理财小助手

一&#xff1a;app介绍 理财小助手是一款利用Android studio软件实现的APP&#xff0c;可以录入每天的消费项目以及消费金额&#xff0c;同时也可以查找消费记录、统计消费总额。我用到的Android studio版本如下&#xff1a; 二、模块设计 下面是我实现的一些模块&#xff1a; …

SAP总账科目增强写入客商(BAPI导入)

正常SAP总账科目的客商是无法直接导入的&#xff0c;增强试了一下&#xff0c;发现有点问题。 正常凭证增强只要在增强结构增加字段字段后&#xff0c;在BAPI的 EXTENSION2 里赋值就行&#xff0c;这次不好用了。 跟踪了下标准程序&#xff0c;发现被这个地方的值覆盖了。 …

基于Android studio个人财务记账管理系统

1.注册登录模块&#xff1a;完成对用户的注册&#xff0c;以及用户登录应用的功能,对密码要求至少8位&#xff0c;可以识别出账号是否注册过&#xff0c;登录之后有欢迎词。 2.个人信息模块&#xff1a;完成对用户对自己的用户名修改&#xff0c;头像进行设置和修改的功能&…

一加七语音唤醒_一加8t有语音助手吗

一加手机本来没有语音助手&#xff0c;不过一加手机从氢OS 10.0开始支持语音助手小布&#xff0c;那么最新发布的一加8t有语音助手吗?下面一起来看看吧~ 品牌型号&#xff1a;一加8t 系统版本&#xff1a;氢OS 10.0 一加8t有语音助手吗? 一加8t手机有语音助手&#xff0c;它有…

纪念胡包钢研究员

昨日&#xff08;8月22日&#xff09;上午我在公众号发了一篇关于开源的文章&#xff0c;照例通过微信发给胡包钢老师&#xff0c;希望他给点建议&#xff0c;但未获回复。下午我从其他途径得知胡包钢老师在8月22日早上因病去世&#xff0c;犹如晴天霹雳。 胡包钢老师一直是我尊…

微软首席开发大师 查尔斯-西蒙尼

微软首席开发大师 查尔斯-西蒙尼 分类&#xff1a; 软件英雄 2011-11-12 14:33 118人阅读 评论(0) 收藏 举报 微软首席开发大师 查尔斯-西蒙尼 分类&#xff1a; 人物漫谈 2005-10-02 15:24 9921人阅读 评论(23) 收藏 举报 查尔斯—西蒙尼&#xff08;Charles Simonyi&am…

微软曾经的二号人物永远地离开了

参加 2018 AI开发者大会&#xff0c;请点击 大会官网 他是一位发明家、投资者、考古学家和慈善家&#xff0c;“他对微软做出的不可或缺的贡献”会让人们永远铭记。 据外媒 CNBC 今日早间报道&#xff0c;微软联合创始人之一保罗艾伦&#xff08;Paul Allen&#xff09;于当地时…

特斯拉:为什么我这么牛逼?

结束了旅行之后&#xff0c;父亲专门为我挑选了历史悠久、名声在外的奥地利斯蒂里亚省格劳姆茨市的理工学校&#xff0c;把我送到那里读书。我终于实现了自己期待已久的心愿&#xff0c;开始正式学习工程技术&#xff0c;并且获得了足够的资金支持。我下定决心&#xff0c;一定…

华为丁耘突发疾病去世

昨天的事情&#xff0c;看到了很多人发的朋友圈。 前阵子突发去世的是旷视科技的孙剑先生&#xff0c;相比于丁耘先生&#xff0c;孙剑博士在技术领域知名度更大&#xff0c;因为孙剑博士的事情&#xff0c;我问了一些圈内的朋友&#xff0c;很多机器学习上的技术文章大多数引用…

昔日“东方神童”逝世,4岁读完初中课程,17岁中科院硕博连读,网友:湖南华容的传说...

杨净 发自 凹非寺量子位 报道 | 公众号 QbitAI 他4岁读完初中&#xff0c;我4岁刚不尿裤子。 他8岁进入重点高中&#xff0c;我8岁刚学加减法。 他13岁考入大学&#xff0c;我13岁还和同学打架。 他17岁硕博连读&#xff0c;我17岁忙着早恋。 …… 最近&#xff0c;天涯论坛上一…

情人节——圣瓦伦丁节(St. Valentine's Day)

公元3世纪&#xff0c;罗马帝国出现全面危机&#xff0c;经济凋敝&#xff0c;统治阶级腐败&#xff0c;社会动荡不安&#xff0c;人民纷纷反抗。贵族阶级为维护其统治&#xff0c;残暴镇压民众和基督教徒。是时有一位教徒瓦伦丁&#xff0c;被捕入狱。 在狱中&#xff0c;他以…

微软亚洲研究院机器学习组的首席研究员刘铁岩谈AI

作者&#xff1a;微软亚洲研究院 链接&#xff1a;https://www.zhihu.com/question/46563853/answer/153380355 来源&#xff1a;知乎 著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。 针对这个问题&#xff0c;我们邀请了微软亚洲研究院机器…

html母亲节主题网页源码0012

网页截图 首页&#xff1a; 节日特色&#xff1a; 节日礼物&#xff1a; 颂歌母亲&#xff1a; 节日留言&#xff1a; 部分代码展示&#xff1a; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml…

苹果vs谷歌:与微软的战争教会了苹果什么

新书《缠斗&#xff1a;苹果与谷歌(微博)如何开战并掀起一场革命》的内容指出&#xff0c;苹果和谷歌的移动平台同时共存&#xff0c;只不过是历史偏离正轨的结果。 文章指出&#xff0c;平台之间的战争总是带有一种倾向&#xff0c;那就是赢家通吃&#xff0c;而输家则一无所…

阿里终面:每天100w次登陆请求, 8G 内存该如何设置JVM参数?

就在上周&#xff0c;一个同学在阿里云技术面终面的时候被问到这么一个问题&#xff1a;假设一个每天100w次登陆请求的平台&#xff0c;一个服务节点 8G 内存&#xff0c;该如何设置JVM参数&#xff1f; 。 下面以面试题的形式给大家梳理出来&#xff0c;做到一箭双雕&#xff…

李开复「关门弟子」创业!AI自动化助手一站式搞定,入局大模型的另一种选择...

衡宇 发自 凹非寺量子位 | 公众号 QbitAI 大模型长驱直入&#xff0c;所到之处&#xff0c;有头有脸的技术大牛争相下场创业。 在AI技术周期一度成为高地的上海 &#xff0c;也有蜻蜓立上头&#xff0c;名叫澜码科技。创始人周健&#xff0c;ACM-ICPC全球赛冠军首个亚洲团队成员…

有哪些足不出户,能用十天左右时间掌握的新技能?

get新技能&#xff0c;学习写爬虫&#xff1f;&#xff01; 1、为啥学爬虫&#xff1f; 看到一个帖子&#xff0c;有人用python爬虫在京东抢口罩&#xff0c;实现实时监测、实时抢购。 可以说很调皮了~ 这是爬虫在电商领域的一个小应用&#xff0c;除此之外你还能使用爬虫进行…

12306抢票程序,零基础也能跑起来

12306抢票程序,零基础也能跑起来 首先感谢大佬罐子里的茶 维护本项目&#xff0c;大佬也录制了视频&#xff0c;这里主要为零基础同学补充图文版。 ​ 视频教程&#xff1a;https://www.bilibili.com/video/BV1mK4y1V7cd/ ​ 项目原地址&#xff1a;https://github.com/tester…