------实现系统的增删改查,代码会在底部会发出来;

一、准备工作

1.1

    右键在指定目录新建一个软件包;

1.2

在 Name 取好名字点击 Finish 建立包;

1.3

  右键新建的包创建两个类;

1.4

        取名后点击 Finish ;

        为了看起来更规范,我一个取名为 Staff 、一个取名为 StaffManagement ;

二、Staff 类

2.1

  于 Staff  类中定义四个变量,分别存储人员的 id 、姓名 、年龄 、生源 ;

2.2

在类中再定义一个无参构造函数,一个有参构造函数;

        ( 不一定都会用到,但是多写一个也没什么不好 )

2.3

         给每一个元素编写 set 、get 代码,用于读取跟修改;

三、StaffManagement 类

3.1

      1.因为要在后续多个方法内使用输入,故将 Scanner 声明在全局;

        2.声明全局变量 n ,用于接收后续操作信息;

        3.创建一个 Staff 类的集合,用于保存人员信息;

        4.输出一条进入系统的提示;( 样式凭自己爱好调整即可 )

3.2

1.调用 show 方法进入下一步操作;

        2.show 方法首先输出有关指令的提示信息;

        3.使用 n 接收指令,因为只有 1 - 5 的指令,故超出范围则需要重新输入;

        4.因为后续会使用读取字符的语句,输入 n 时会残余一个回车,为避免读取错误,使用 nextLine 将回车无效化;

3.3

        对 n 取值进行判断,使各取值调用各自所对应的方法,完毕后再次进入 show 方法;

        若 n 取值为 5 ,则直接结束整个循环;

        结束循环后没有任何语句,故调用返回;

        返回主方法后输出退出系统的提示;

3.4

  select 方法,该方法会将集合内所有的人员信息打印出来;

( 可凭自己爱好调整 )

3.5

        在刚进入 select 方法时增加一条判断,如果表内无信息,则输出提示;

        根据提示信息可选择进行其他操作也可退出系统; 

3.6

        insert 方法先实例化一个 Staff 对象,并通过一个 str 字符串接收数据,将数据传入新对象,在添加每一项之前都输出一句提示信息,接收完数据后将对象增加进集合;

( 提示信息样式可凭个人喜欢更改 )

3.7

      为保证 id 的唯一性,在输入员工 id 后使用 foreach 进行对集合的遍历判断,如果存在该 id 则输出提示信息并返回,反之则继续运行;

3.8

         update 方法首先输出一条提示信息提示输入 id ;

        使用 str 字符串接收输入数据;

        定义一个整型变量 x 初值为 -1 ,用于存放员工在集合内的索引值;

        通过 foreach 遍历整个集合寻找是否有所寻找的员工 id ,如果找到了将索引值传入;

        通过判断 x 内存放的值是否被改变确定是否有这个 id ,如果没有此 id 输出提示并返回,反之则继续;

3.9

    后续跟 insert 方法类似,区别是利用 get( 索引 ).set( 所修改的值 );

4.0

        最后 remove 方法跟 update 一致,先确定是否有所查找的员工 id ;

        如果有则使用集合的 remove 方法进行删除;

        删除成功后输出提示并返回;

四、代码分享

4.1 Staff 类

package com.caterpillar;public class Staff {private String id;private String name;private int age;private String address;public Staff() {}public Staff(String id, String name, int age, String address) {this.id = id;this.name = name;this.age = age;this.address = address;}public String getId() {return id;}public void setId(String 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 String getAddress() {return address;}public void setAddress(String address) {this.address = address;}
}

4.2 StaffManagement 类

package com.caterpillar;import java.util.ArrayList;import java.util.Scanner;public class StaffManagement {static Scanner sc = new Scanner( System.in );static int n;static ArrayList<Staff> staffArrayList = new ArrayList<>();public static void main(String[] args) {System.out.println(" -------------欢迎进入人员管理系统-------------");show();System.out.println("\n\t谢谢使用!!!");}public static void show(){System.out.println("\n-\t\t1.查看所有员工;\t\t-");System.out.println("-\t\t2.添加员工信息;\t\t-");System.out.println("-\t\t3.修改员工信息;\t\t-");System.out.println("-\t\t4.删除员工信息;\t\t-");System.out.println("-\t\t5.退出管理系统;\t\t-");System.out.print("\n\t请输入你要进行的操作:\t" );n = sc.nextInt();for ( ; n < 1 || n > 5 ; ){System.out.print("\t请输入合法的数字:\t");n = sc.nextInt();}sc.nextLine();while ( true ){if ( n == 1 )select();if ( n == 2 )insert();if ( n == 3 )update();if ( n == 4 )remove();if ( n == 5 )break;show();}}public static void insert(){Staff staff = new Staff();String str;System.out.print("\t请输入员工id:\n\t");str = sc.nextLine();for ( Staff list: staffArrayList) {if ( list.getId().equals(str)){System.out.println("\t已存在当前 ID ,请勿重复输入!!!");return;}}staff.setId( str );System.out.print("\t请输入员工姓名:\n\t");str = sc.nextLine();staff.setName( str );System.out.print("\t请输入员工年龄:\n\t");str = sc.nextLine();staff.setAge( Integer.parseInt( str ) );System.out.print("\t请输入员工生源:\n\t");str = sc.nextLine();staff.setAddress( str );staffArrayList.add( staff );System.out.println("\t添加成功!!!");}public static void remove(){System.out.print("\t请输入员工id:\n\t");String str = sc.nextLine();int x = -1 ;for ( Staff list: staffArrayList) {if ( list.getId().equals(str)){x = staffArrayList.indexOf( list );break;}}if ( x == -1 ){System.out.println("\t查无此人!!!");return;}for ( Staff list: staffArrayList) {if ( list.getId().equals(str)){staffArrayList.remove( x );System.out.println("\t删除成功!!!");break;}}}public static void update(){System.out.print("\t请输入员工id:\n\t");String str = sc.nextLine();int x = -1 ;for ( Staff list: staffArrayList) {if ( list.getId().equals(str)){x = staffArrayList.indexOf( list );break;}}if ( x == -1 ){System.out.println("\t查无此人!!!");return;}System.out.print("\t请修改员工姓名:\n\t");str = sc.nextLine();staffArrayList.get( x ).setName( str );System.out.print("\t请修改员工年龄:\n\t");str = sc.nextLine();staffArrayList.get( x ).setAge( Integer.parseInt( str ) );System.out.print("\t请修改员工生源:\n\t");str = sc.nextLine();staffArrayList.get( x ).setAddress( str );System.out.println("\t修改成功!!!");}public static void select(){if ( staffArrayList.size() == 0 ){System.out.print("\t表内无信息,请添加信息后再查询!!!(输入 1 ,继续使用,其他则自动关闭系统 )\n\t");int temp = sc.nextInt();if ( temp != 1 ){System.out.println("\n\t谢谢使用!!!");System.exit(0);}return;}System.out.printf("\n%5s\t\t%5s\t\t%5s\t\t%5s","id","姓名","年龄","生源");for ( Staff list:staffArrayList) {System.out.printf("\n %5s\t\t  %5s\t\t%5d岁\t\t %5s\n",list.getId(),list.getName(),list.getAge(),list.getAddress());}}
}

JAVA:实现简单的人员管理系统相关推荐

  1. 用java实现简单的银行管理系统

    用java实现简单的银行管理系统 页面代码之一: mvc设计模式,分包 分包图片 简单效果演示: 登陆主页面 注册页面 登录: 功能页面! 存款 转账 查看近期流水账单! 页面代码之一: packag ...

  2. java毕业设计疫情返乡人员管理系统Mybatis+系统+数据库+调试部署

    java毕业设计疫情返乡人员管理系统Mybatis+系统+数据库+调试部署 java毕业设计疫情返乡人员管理系统Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S架构 开发语言: ...

  3. java计算机毕业设计社区人员管理系统源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计社区人员管理系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计社区人员管理系统源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目架构:B/S ...

  4. 基于Java的简单零食商城管理系统

    标题# 基于Java的简单零食商城管理系统 专业团队开发,接受定制 联系VX:Alfalfa-cx 专属源码网站欢迎浏览:http://www.eqicode.com/Code/Index.html ...

  5. java毕业设计培训机构人员管理系统录屏演示2021mybatis+源码+调试部署+系统+数据库+lw

    java毕业设计培训机构人员管理系统录屏演示2021mybatis+源码+调试部署+系统+数据库+lw java毕业设计培训机构人员管理系统录屏演示2021mybatis+源码+调试部署+系统+数据库 ...

  6. java实现简单的图书管理系统(以及代码中用了特殊注释TODO,XXX,FIXME),compare接口

    参考来自 java实现简单的图书管理系统_Jewel's blog-CSDN博客_java图书管理系统一.项目分布Book类: 定义了书的一些属性(书名,作者,价格,分类,状态)并且写了属性的get. ...

  7. (JAVASwing界面)java实现简单的人事管理系统(数据库原理课程设计)

    题目:人事管理系统 重要!!!! 此文章可以作为报告提交,只需要按照你们的格式调整即可,文章内容符合大学报告格式. 摘要(包含两个部分): 1.课题需要完成的内容 人事管理系统是企业管理系统中不可缺少 ...

  8. Java实现简单的图书管理系统(讲解清晰,代码齐全,能正常运行)

    目录 实现的样子 大致思路 代码 (按照这个目录创建包) 首先是book包下,有两个类 book类 bookList类 然后是operation包下,有7个类和1个接口 AddOperation类 B ...

  9. 基于java的简单学生宿舍管理系统

    本程序是简单的JDBC加上一些java中JFrame的框图(布局真的丑),原谅我JFrame学的不好,布局实在弄不来,大家撮合着看吧! 我使用的是       MySQL来实现的.工具使用(navic ...

最新文章

  1. 一站式论文提升服务,助您顺利发文章!
  2. 【Java源码分析】LinkedHashSet和HashSet源码分析
  3. 【深度学习】一个应用—肝脏CT图像自动分割(术前评估)
  4. linux用户管理类常用命令:
  5. python自定义全局异常_Django 自定义404 500等错误页面的实现
  6. 零基础学Java编程的三个重点学习内容
  7. 数据分析和大数据哪个更吃香_处理数据,大数据甚至更大数据的17种策略
  8. 40个问题让你快速掌握Java多线程的精髓
  9. node-inspector调试工具使用方法
  10. 传统量化与ai量化对比_量化AI偏差的风险
  11. 推荐5款超实用的小软件,建议先收藏再下载
  12. 编解码格式 -- H264
  13. win10远程计算机管理,Win10专业版远程控制电脑有哪些方法?
  14. 视频传输协议的总结区分
  15. 坦克大战(Tank Battalion)------Java代码实现
  16. 【讲清楚,说明白!】Zabbix企业级自动化监控与无人报警系统--实战演练
  17. Java基础重温_06:Debug模式(打断点、下一步),基础练习案例(减肥计划if,switch版本、逢七跳过、不死神兔、百钱白鸡、数组元素(求和,索引位置,反转)、判断数组是否相同、评委打分)
  18. 【Qt网络编程】实现TCP协议通信
  19. 如何优化你的Google Play商店应用详情页面
  20. 百度研究院发布2022科技趋势预测,涵盖三大层面、十大领域

热门文章

  1. 基于AUTOSAR开发工具链的AUTOSAR软件实战开发---基于工具链AUTOSAR架构的开发流程
  2. 三星手机通讯录导出 .spb格式转.vcf
  3. 财务分润系统哪家好用?
  4. MacW资讯:如何在Final Cut Pro X中安裝fcpx模板
  5. JAVA资源泄露是什么,Java资源泄露监控库jleaks
  6. python中not的用法
  7. 串级PID结构及参数调整见解
  8. 美团2018校招笔试
  9. python3 高斯函数
  10. 限制局域网网速_过年总有亲戚蹭WIFI,设置访客网络,让网速不再卡