公司员工考勤系统Java代码
package com.company; import java.util.List; import java.util.Scanner; public class Main {public static void main(String[] args) {Company company = new Company(); //添加员工 company.addEmp(11,"zhangsan",20,'男'); company.addEmp(22,"lisi",22,'男'); company.addEmp(33,"lili",24,'女'); company.addEmp(44,"fsw",28,'男'); //显示员工信息 company.showEmp(); Scanner sc = new Scanner(System.in); System.out.println("请输入删除员工信息!工号"); int empNum = sc.nextInt(); String s = sc.nextLine(); //删除员工的方法 company.deleteEmp(empNum); //显示删除后的员工信息 company.showEmp(); System.out.println("请输入查询员工信息的工号:"); int id = sc.nextInt(); String a = sc.nextLine(); company.selectEmp(id); int input = 0; do{System.out.println("员工考勤系统"); System.out.println("0-------------exit"); System.out.println("1-------------签到"); System.out.println("2-------------签退"); System.out.println("3-------------显示考勤信息"); input = sc.nextInt(); String c = sc.nextLine(); switch (input){case 1:company.qiandao(); break; case 2:company.qiantui(); break; case 3:company.showAttendence(); break; default:break; }}while(input!=0); } }
package com.company; import java.text.SimpleDateFormat; import java.util.*; /** * 定义一个公司类,包括员工的集合,还有每天考勤的集合 * Created by ttc on 2017/6/30. */ public class Company {private Map<Integer,Emp> mapEmp = new HashMap<>(); //Map中的KEY为签到的日期 private Map<String,List<KaoqinRecord>> map = new HashMap<>(); //定义一个添加员工的方法 public Map<Integer,Emp> addEmp(int id,String name,int age,char sex){mapEmp.put(id,new Emp(id,name,age,sex)); return mapEmp; }//显示现在公司员工的信息 public void showEmp(){for(Map.Entry<Integer,Emp> m :mapEmp.entrySet()){System.out.println("工号:"+m.getValue().getId()+" 姓名:"+m.getValue().getName()+" 年龄"+m.getValue().getAge()+" 性别"+m.getValue().getSex()); }}//定义删除员工的方法 public void deleteEmp(int id){mapEmp.remove(id); }//定义查询员工的方法 public void selectEmp(int id){System.out.println("工号:"+mapEmp.get(id).getId()+" 姓名:"+mapEmp.get(id).getName()+" 年龄"+mapEmp.get(id).getAge()+" 性别"+mapEmp.get(id).getSex()); }//定义公司的签到方法 public void qiandao(){Date date = new Date(); SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdfTime = new SimpleDateFormat("HH:mm:ss"); String qiandaoDate = sdfDate.format(date); String kaoqinTime = sdfTime.format(date); System.out.println("请输入要签到的员工号码"); Scanner sc = new Scanner(System.in); int inputId = sc.nextInt(); if(!mapEmp.containsKey(inputId)){System.out.println("不存在该员工"); return; }List<KaoqinRecord> listKaoQin = null; if(!map.containsKey(qiandaoDate)){//第一个签到的员工 listKaoQin = new ArrayList<>(); KaoqinRecord kq = new KaoqinRecord(); kq.setName(mapEmp.get(inputId).getName()); kq.setStratTime(kaoqinTime); kq.setEndTime(""); listKaoQin.add(kq); map.put(qiandaoDate,listKaoQin); System.out.println("签到成功!"); }else {//说明之前,今天已经有人签到过了 listKaoQin = map.get(qiandaoDate); //判断是否已经签到过 boolean bIsFind = false; for (KaoqinRecord kr : listKaoQin) {if (kr.getName() == mapEmp.get(inputId).getName()) {System.out.println("已经签到过了"); bIsFind = true; break; }}if (!bIsFind) {KaoqinRecord kr = new KaoqinRecord(); kr.setName(mapEmp.get(inputId).getName()); kr.setStratTime(kaoqinTime); kr.setEndTime(""); listKaoQin.add(kr); System.out.println("签到成功!"); }}}public void qiantui(){System.out.println("请输入要签退的员工ID"); Scanner sc = new Scanner(System.in); int inputId = sc.nextInt(); String s = sc.nextLine(); if(!mapEmp.containsKey(inputId)){System.out.println("员工不存在"); return; }Date date = new Date(); SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdfTime = new SimpleDateFormat("HH:mm:ss"); String qiandaoDate = sdfDate.format(date); String kaoqinTime = sdfTime.format(date); if(!map.containsKey(qiandaoDate)){System.out.println("您没签到,不能签退!"); }else{List<KaoqinRecord> listKaoQin = map.get(qiandaoDate); boolean bIsFind = false; for(KaoqinRecord kr : listKaoQin){if(kr.getName().equals(mapEmp.get(inputId).getName())){kr.setEndTime(kaoqinTime); bIsFind = true; break; }}if(!bIsFind){System.out.println("您没签到,不能签退"); }else{System.out.println("签退成功!"); }}}public void showAttendence(){System.out.println("请输入要查询的日期(yyyy-MM-dd)"); Scanner sc = new Scanner(System.in); String qiandaoDate = sc.nextLine(); List<KaoqinRecord> listKaoQin = map.get(qiandaoDate); for(KaoqinRecord kr : listKaoQin){System.out.println(kr.getName()+" 签到时间为:"+kr.getStratTime()+" 签退时间为:"+kr.getEndTime()); }} }
package com.company; /** * 定义一个员工每天考勤的类,包括员工姓名,还有签到时间和签退时间 * Created by ttc on 2017/6/30. */ public class KaoqinRecord {private String name; private String stratTime; private String endTime; public String getName() {return name; }public void setName(String name) {this.name = name; }public String getStratTime() {return stratTime; }public void setStratTime(String stratTime) {this.stratTime = stratTime; }public String getEndTime() {return endTime; }public void setEndTime(String endTime) {this.endTime = endTime; } }
package com.company; /** * 定义一个员工类,属性包括员工的id,员工姓名,年龄,性别 * Created by ttc on 2017/6/30. */ public class Emp {private int id; private String name; private int age; private char sex; public Emp(){}public Emp(int id, String name, int age, char sex) {this.id = id; this.name = name; this.age = age; this.sex = sex; }public int getId() {return id; }public void setId(int id) {this.id = id; }public String getName() {return name; }public void setName(String name) {this.name = name; }public int getAge() {return age; }public void setAge(int age) {this.age = age; }public char getSex() {return sex; }public void setSex(char sex) {this.sex = sex; } }
公司员工考勤系统Java代码相关推荐
- 基于安卓的公司员工考勤系统的设计与实现
目 录 1 绪论 1 1.1 选题背景 1 1.2 研究现状 2 1.3 研究意义 3 1.4 研究内容 3 2 相关的理论和技术 4 2.1 JAVA技术与安卓介绍 4 2.2 Android的开发 ...
- java毕业设计企业员工考勤系统的设计与实现源码+lw文档+mybatis+系统+mysql数据库+调试
java毕业设计企业员工考勤系统的设计与实现源码+lw文档+mybatis+系统+mysql数据库+调试 java毕业设计企业员工考勤系统的设计与实现源码+lw文档+mybatis+系统+mysql数 ...
- 计算机毕业设计Java企业员工考勤系统的设计与实现(源码+系统+mysql数据库+lw文档)
计算机毕业设计Java企业员工考勤系统的设计与实现(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java企业员工考勤系统的设计与实现(源码+系统+mysql数据库+lw文档) 本源码技术栈 ...
- java毕业设计公司日常考勤系统mybatis+源码+调试部署+系统+数据库+lw
java毕业设计公司日常考勤系统mybatis+源码+调试部署+系统+数据库+lw java毕业设计公司日常考勤系统mybatis+源码+调试部署+系统+数据库+lw 本源码技术栈: 项目架构:B/S ...
- 基于JAVA企业员工考勤系统的设计与实现计算机毕业设计源码+数据库+lw文档+系统+部署
基于JAVA企业员工考勤系统的设计与实现计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA企业员工考勤系统的设计与实现计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目 ...
- java计算机毕业设计企业员工考勤系统的设计与实现源码+程序+lw文档+mysql数据库
java计算机毕业设计企业员工考勤系统的设计与实现源码+程序+lw文档+mysql数据库 java计算机毕业设计企业员工考勤系统的设计与实现源码+程序+lw文档+mysql数据库 本源码技术栈: 项目 ...
- opencv python考勤_GitHub - liqq1228/python-opencv: 基于python opencv人脸识别的员工考勤系统...
项目及作者说明 一个基于 Opencv.dlib 人脸识别的员工考勤系统,作者某双一流A类大学里的一流学生,写于2018/09/,Python 学习期间. 开源版及商业版说明 开源版 商业版 人脸录入 ...
- opencv人脸识别考勤 python_GitHub - lisanshui007/python-opencv: 基于python opencv人脸识别的员工考勤系统...
项目及作者说明 一个基于 Opencv.dlib 人脸识别的员工考勤系统,作者某双一流A类大学里的一流学生,写于2018/09/,Python 学习期间. 开源版及商业版说明 开源版 商业版 人脸录入 ...
- python人脸考勤系统_GitHub - jykcc/python-opencv: 基于python opencv人脸识别的员工考勤系统...
项目及作者说明 一个基于 Opencv.dlib 人脸识别的员工考勤系统,作者某双一流A类大学里的一流学生,写于2018/09/,Python 学习期间. 开源版及商业版说明 开源版 商业版 人脸录入 ...
- 员工考勤系统业务建模+系统用例图
[员工考勤系统] 现要为某单位开发一款"员工考勤系统",其开发背景和问题如下. 作为 Acme 公司的信息主管,你被委托开发一款新的考勤系统.要求新系统允许员工 记录电子的考勤信息 ...
最新文章
- JSP网页开发安装2019-03 eclipse,详细并且简单教程这里有。
- Keras【Deep Learning With Python】—使用keras-神经网络来做线性回归问题
- linux lynx 源码,Linux移植浏览器 Lynx字符浏览器移植
- 计算机的颜色储存格式(索引色 真彩色)
- XMLHttpResponse 在项目里面的运用
- python编程优化_掌握六大技巧,让python编程健步如飞!
- 爬虫-urlparse与urlsplit
- STM32 - 定时器的设定 - 基础-03 - 输出波形控制 - Output compare mode
- MD5Init-MD5Update-MD5Final
- SVN 回退到某一个版本
- html 怎么看版本号,怎样查看jquery版本号?
- 2022元宇宙共享大会|倪健中:我们正在开启元宇宙新时代
- 在互联网时代一切归零
- 012 断言(Assertions)
- 联通系统升级服务器地址,联通iptv升级服务器地址
- HTML元素居中定位与尺寸拉伸
- gap year_应该gap year吗?过来人这么说
- ​宝尊电商年亏2亿:阿里又成大股东 软银大幅减持
- 用户绑定QQ邮箱找回密码
- 无线网卡驱动不显示问题
热门文章
- django和php学哪个好,哪个更适合我的项目:Django、Plone、php还是rubyonrails
- jQuery支持移动触摸设备的Lightbox插件
- Android源码下载编译(TI)
- 《UNIX网络编程 卷1》一、环境配置
- 易百教程(IT技能学习平台)
- java基于ssm+mysql的宠物店管理系统 计算机毕业设计
- mx350显卡天梯图_不可错过的2020显卡天梯图,选卡详解
- cydia软件路径_cydia软件包路径
- 国军标 软件测评 静态分析常见问题总结
- windows怎么删除服务, OpenService 失败 5,拒绝访问解决