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. 【IMPDP】当导入数据时遭遇表已存时的应对手段——TABLE_EXISTS_ACTION参数
  2. Opencv轻松入门:OpenCV入门难?资料少?看完这篇文章就稳了
  3. 放假了,暂告一段落,迎接研究生
  4. 无人驾驶出租车遭警察拦截后欲“潜逃”,AI 是原罪?
  5. sql between包括两端吗_技术分享:T-SQL 之语法艺术(一)
  6. Windows平台手动卸载Oracle Server【完整+干净】
  7. ASP.NET MVC3 快速入门-第四节 添加一个模型(转)
  8. Ubuntu 安装 CLI 并运行 ASP.NET Core 1.0
  9. 使用sharding-jdbc实现水平分库+水平分表
  10. mysql gtids_MySQL GTIDs(global transaction identifiers)
  11. vue文件的三大组成部分
  12. module.exports 和 exports 的区别
  13. 大数据、云计算该如何学习?
  14. /usr/bin/ld: 找不到 -lstdc++
  15. 太极图(HTML+CSS),无动态效果
  16. 真的必须要在主线程更新UI吗?
  17. 嵌入式 新建基于固件库的MDK5工程模板
  18. 速卖通自定义html模板,速卖通运费模版如何设置?
  19. TPAMI三维点云深度学习技术综述
  20. Capital in the Twenty-First Century 21世纪资本论

热门文章

  1. 10个3分钟锁住健康
  2. (2)雅思屠鸭第二天:基础场景类词汇与六种简单句讲解
  3. 养生保健的误区有哪些?
  4. 使用8uFTP登录UBUNTU
  5. 电脑安全模式怎么进?3种方式教会你!
  6. 谈谈你对ajax的理解,谈谈你对aja的理解(一、二)
  7. python画蜡烛致敬烈士_用python绘制股票图,用python绘制蜡烛线型k线图是用代码还是绘图工具...
  8. android作用是什么意思,安卓ART模式是什么意思 ART模式有什么作用及功能
  9. 【吴刚】淘宝天猫网站设计初级入门标准视频教程-吴刚-专题视频课程
  10. 第3节 DOS命令详解