package com.unit6.test;public class Employee {//工号private String id;//姓名private String name;//性别private String sex;//出生日期private String birthday;//号码private String phone;//定义无参数的构造方法public Employee() {}//定义带参数的构造方法public Employee(String id, String name, String sex, String birthday, String phone) {this.id = id;//this代表使用Employee实例方法的当前对象,this.id就表示使用当前对象的变量idthis.name = name;this.sex = sex;this.birthday = birthday;this.phone = phone;}//set和get方法操作private变量,增强安全性public void setId(String id) {   //给对象的属性赋值this.id = id;}public String getId() {   //取得对象的属性值return id;}public void setName(String name) {this.name = name;}public String getName() {return name;}public void setSex(String sex) {this.sex = sex;}public String getSex() {return sex;}public void setBirthday(String birthday) {this.birthday = birthday;}public String getBirthday() {return birthday;}public void setPhone(String phone) {this.phone = phone;}public String getPhone() {return phone;}}
package com.unit6.test;import java.util.ArrayList;
import java.util.Scanner;public class EmployeeManager {/** 1. 用输出语句完成主界面的编写* 2. 用Scanner实现键盘录入数据* 3. 用switch语句完成操作的选择* 4. 用循环完成再次回到主界面*/public static void main(String[] args) {// 创建集合对象,用于存储员工数据ArrayList<Employee> array = new ArrayList<Employee>();// 用循环完成再次回到主界面while (true) {// 1. 用输出语句完成主界面的编写System.out.println("*******欢迎进入员工管理系统*******");System.out.println("\t1.输出所有员工信息");System.out.println("\t2.添加员工信息");System.out.println("\t3.查询指定工号员工信息");System.out.println("\t4.修改员工信息");System.out.println("\t5.删除员工信息");System.out.println("\t6.退出");System.out.println("*****************************");System.out.println("请选择菜单功能:");// 2. 用Scanner实现键盘录入数据Scanner in = new Scanner(System.in);String choice = in.nextLine();//nextLine()返回Enter键之前的所有字符,可得到带空格的字符串;而next()得不到带空格的字符串,视字符串为分隔符// 3. 用switch语句完成操作的选择switch (choice) {case "1"://查看所有员工findAllStudent(array);break;                    case "2":// 添加员工addEmployee(array);break;                    case "3":// 根据工号查看员工信息findEmployeeById(array);break;                    case "4":// 修改员工updataStudent(array);break;                    case "5":// 删除员工deleteStudent(array);break;               case "6":System.out.println("谢谢使用本系统,再见!");System.exit(0);default:// 输入命令有误时,while循环实现返回重新输入System.out.println("输入错误,请重新输入!");}}}// 1.定义一个方法,用于查看所有员工信息public static void findAllStudent(ArrayList<Employee> array) {if (array.size() == 0) {System.out.println("抱歉!没有员工记录,请先添加员工信息再查询");// 为了不让程序继续往下执行return;}System.out.println("工号\t\t姓名\t\t性别\t\t出生日期\t\t\t电话");// 将集合中数据取出按照对应格式显示员工信息for (int i = 0; i < array.size(); i++) {Employee e = array.get(i);System.out.println(e.getId() + "\t\t" + e.getName() + "\t\t" + e.getSex() + "\t\t" + e.getBirthday()+ "\t\t" + e.getPhone());}}// 2.定义一个方法,用于添加员工信息public static void addEmployee(ArrayList<Employee> array) {// 用键盘录入选择添加员工,显示提示信息,提示要输入何种信息Scanner in = new Scanner(System.in);// 为了让id在while循环外面也能被访问到,我们就把它定义在了循环外String id;// 为了让程序能够回到这里,我们使用循环使用while (true) {System.out.println("请输入工号:");id = in.nextLine();boolean flag = isUsed(array, id);if (flag) {System.out.println("你输入的工号已经被使用,请重新输入");} else {break;}}System.out.println("请输入员工姓名:");String name = in.nextLine();System.out.println("请输入员工性别:");String sex = in.nextLine();System.out.println("请输入员工出生日期:");String birthday = in.nextLine();System.out.println("请输入员工电话:");String phone = in.nextLine();// 创建员工对象,把键盘录入的数据赋值给员工对象的成员变量Employee e = new Employee();e.setId(id);//set赋值e.setName(name);e.setSex(sex);e.setBirthday(birthday);e.setPhone(phone);// 将员工对象添加到集合中保存array.add(e);// 给出添加成功提示System.out.println("添加员工成功");}// 定义一个方法,判断工号是否被占用public static boolean isUsed(ArrayList<Employee> array, String id) {// 如果与集合中的某一个员工工号相同,返回true 如果都不相同,返回falseboolean flag = false;for (int i = 0; i < array.size(); i++) {Employee e = array.get(i);if (e.getId().equals(id)) {flag = true;break;}}return flag;}// 3.定义一个方法,用于根据员工工号查看员工信息public static void findEmployeeById(ArrayList<Employee> array) {// 用键盘录入选择添加员工,显示提示信息Scanner in = new Scanner(System.in);// 输入员工工号System.out.println("请输入员工工号:");String id = in.nextLine();// 在根据员工工号查询前,对工号是否存在进行判断// 如果不存在,显示不存在提示信息// 如果存在,输出员工信息int index = -1;Employee e = null;// 遍历集合将对应员工对象从集合中拿出for (int i = 0; i < array.size(); i++) {e = array.get(i);if (e.getId().equals(id)) {index = i;break;}}if (index == -1) {System.out.println("该"+id+"的工号不存在!");} else {System.out.println("工号"+"\t\t"+"姓名"+"\t\t"+"性别"+"\t\t"+"出生日期"+"\t\t\t"+"电话");// 将集合中数据取出按照对应格式显示员工信息System.out.println(e.getId() + "\t\t" + e.getName() + "\t\t" + e.getSex() + "\t\t" + e.getBirthday()+ "\t\t" + e.getPhone());}}// 4.定义一个方法,用于修改员工信息public static void updataStudent(ArrayList<Employee> array) {// 键盘录入要修改的员工工号,显示提示信息Scanner in = new Scanner(System.in);System.out.println("请输入要修改的员工工号:");String id = in.nextLine();// 在修改员工操作前,对工号是否存在进行判断// 如果不存在,显示提示信息// 如果存在,执行修改操作int index = -1;// 遍历集合修改对应的员工信息for (int i = 0; i < array.size(); i++) {Employee e = array.get(i);if (e.getId().equals(id)) {index = i;break;}}if (index == -1) {System.out.println("该工号不存在,请重新输入");} else {for (int j = 0; j < array.size(); j++) {Employee student = array.get(j);if (student.getId().equals(id)) {// 键盘录入要修改的员工信息System.out.println("请输入员工的新姓名:");String name = in.nextLine();System.out.println("请输入员工的新性别:");String sex = in.nextLine();System.out.println("请输入员工的新出生日期:");String birthday = in.nextLine();System.out.println("请输入员工的新电话:");String phone = in.nextLine();// 创建员工对象,set进行赋值Employee e = new Employee();e.setId(id);e.setName(name);e.setSex(sex);e.setBirthday(birthday);e.setPhone(phone);array.set(j, e);// 给出修改成功提示System.out.println("修改员工成功");break;}}}}    // 5.定义一个方法,用于删除员工信息public static void deleteStudent(ArrayList<Employee> array) {// 键盘录入要删除的员工工号,显示提示信息Scanner in = new Scanner(System.in);System.out.println("请输入要删除的员工工号:");String id = in.nextLine();// 在删除员工操作前,对工号是否存在进行判断// 如果不存在,显示提示信息// 如果存在,执行删除操作int index = -1;// 遍历集合将对应员工对象从集合中删除for (int i = 0; i < array.size(); i++) {Employee e = array.get(i);if (e.getId().equals(id)) {index = i;break;}}if (index == -1) {System.out.println("该"+id+"的工号不存在!");} else {array.remove(index);System.out.println("删除员工成功!");}}
}

Java员工信息管理系统(注释全)相关推荐

  1. 基于JAVA员工信息管理系统计算机毕业设计源码+系统+数据库+lw文档+部署

    基于JAVA员工信息管理系统计算机毕业设计源码+系统+数据库+lw文档+部署 基于JAVA员工信息管理系统计算机毕业设计源码+系统+数据库+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语 ...

  2. (附源码)基于java的员工信息管理系统 毕业设计201524

    Springboot员工信息管理系统 摘 要 由于数据库和数据仓库技术的快速发展,企业员工信管理建设越来越向模块化.智能化.自我服务和管理科学化的方向发展.员工信息管理对处理对象和服务对象,自身的系统 ...

  3. springboot基于java的员工信息管理系统毕业设计源码201524

    Springboot员工信息管理系统 摘 要 由于数据库和数据仓库技术的快速发展,企业员工信管理建设越来越向模块化.智能化.自我服务和管理科学化的方向发展.员工信息管理对处理对象和服务对象,自身的系统 ...

  4. springboot+mysql+基于java的员工信息管理系统 毕业设计-附源码201524

    Springboot员工信息管理系统 摘 要 由于数据库和数据仓库技术的快速发展,企业员工信管理建设越来越向模块化.智能化.自我服务和管理科学化的方向发展.员工信息管理对处理对象和服务对象,自身的系统 ...

  5. java ee 员工管理系统,fb3492 javaEE_原生Servlet_MySql企业员工信息管理系统的设计与实现,java源码含论文与答辩PPT...

    fb3492 javaEE_原生Servlet_MySql企业员工信息管理系统的设计与实现,java源码含论文与答辩PPT 存储:百度网盘 --/资源热下载站/VIP源码/Java源码/fb3492 ...

  6. 基于Java+Swing+Mysql员工信息管理系统

    基于Java+Swing+Mysql员工信息管理系统 一.系统介绍 二.功能展示 1.主页 2.查询员工信息 3.删除员工信息 三.数据库 四.其他系统实现 五.获取源码 一.系统介绍 该系统实现了查 ...

  7. Eclipse+Java+Swing+Mysql实现员工信息管理系统

    目录 一.系统介绍 1.开发环境 2.技术选型 3.系统功能 4.数据库 二.系统展示 1.登录系统 2.主页面 3.部门管理 4.职位管理 5.员工管理 三.部分代码 AdminDao.java D ...

  8. Java项目员工信息管理系统

    在Java SE中,对IO流与集合的操作在应用中比较重要.接下来,我以一个小型项目的形式,演示IO流.集合等知识点在实践中的运用. 该项目名称为"员工信息管理系统"(或" ...

  9. 【java毕业设计】基于javaEE+原生Servlet+MySql的企业员工信息管理系统设计与实现(毕业论文+程序源码)——企业员工信息管理系统

    基于javaEE+原生Servlet+MySql的企业员工信息管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于javaEE+原生Servlet+MySql的企业员工信息管理系统设计 ...

最新文章

  1. 一些常用工具地址,随时更新中~
  2. 百度开设「黄埔学院」,革新者来
  3. html怎么把图片放到数组,HTML5中的图像数组
  4. AWS 用户指南笔记
  5. ES报错:Connection reset by peer 解决经历
  6. P5706 【深基2.例8】再分肥宅水--2022.02.13
  7. 二叉树的创建_【数据结构用python描述】python创建二叉树
  8. 小程序之支付(前端)
  9. 【日常学习】1月21日 学习内容
  10. 软工网络15团队作业4-DAY2
  11. php读取excel文件_如何用PHP读取excel文件内容、获取单元格数据
  12. Kali Linux 安装网易云音乐打不开的解决方法
  13. 怎样将视频mp4转换成flac无损音乐
  14. Linux命令行设置行数,Linux设置history命令显示行数以及时间
  15. (九)统计学习方法 | 隐马尔可夫模型
  16. 装饰及家具设计的主要材料
  17. 微波射频学习笔记17-------LC谐振的验证和LC滤波器原理
  18. javaweb条形码产生、打印、扫描
  19. 12_OSR模块和空间参考系
  20. 使用matlab对图像进行二维傅里叶变换

热门文章

  1. 查看Android手机CPU类型
  2. selenium获取网页翻页表格内容并存入 excel
  3. 无线和有线网络同时连接时,出现网络连接超时问题解决
  4. 2017年12月6日 学习笔记(JAVA面试题)
  5. disable和readonly的区别和使用
  6. 穿过镜头看历史:斯皮尔伯格的二战情结
  7. http://www.web3d.org推荐X3D编辑器X3D-Edit下载地址
  8. UI设计如何确定设计风格和设计色彩?
  9. XTUOJ ABK(求出A和B的第K大公约数)
  10. pta L1-011 A-B(python3)