Java实现员工管理系统
员工管理系统实现起来还是比较简单的,建一个员工类,里面包含员工的工号、姓名、年龄、性别和专业属性
public class Staff {private int id;private String name;private int age;private String sex;private String specialty;public Staff(int id, String name, int age, String sex, String specialty) {this.id = id;this.name = name;this.age = age;this.sex = sex;this.specialty = specialty;}public Staff(){}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 String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public String getSpecialty() {return specialty;}public void setSpecialty(String specialty) {this.specialty = specialty;}
}
设置完员工的属性后,需要存储员工的信息,我用的是ArrayList动态数组存储员工信息
ArrayList动态数组还是比较强大的,它不像数组要定义数组的长度,并且它的操作性很强,自带许多的方法,例如add()、clear()、get()...
public class StaffManager {public static void main(String[] args) {ArrayList<Staff> array = new ArrayList<>();while (true) {System.out.println("--------欢迎来到员工管理系统--------");System.out.println("1 添加员工");System.out.println("2 删除员工");System.out.println("3 修改员工");System.out.println("4 查看所有员工");System.out.println("5 退出");System.out.println("请输入您的选择:");Scanner sc = new Scanner(System.in);String line = sc.nextLine();switch (line) {case "1":System.out.println("添加员工");add(array);break;case "2":delete(array);break;case "3":update(array);break;case "4":find(array);break;case "5":System.out.println("谢谢使用");System.exit(0);}}}public static void add(ArrayList<Staff> array) {Scanner sc = new Scanner(System.in);String id;while (true) {System.out.println("请输入员工号:");id = sc.nextLine();boolean flag = isUsed(array, id);if (flag) {System.out.println("你输入的员工号已经被使用,请重新输入");} else {break;}}System.out.println("请输入员工姓名:");String name = sc.nextLine();System.out.println("请输入员工年龄:");String age = sc.nextLine();System.out.println("请输入员工性别:");String sex = sc.nextLine();System.out.println("请输入员工专业:");String specialty = sc.nextLine();Staff s = new Staff();s.setId(Integer.parseInt(id));s.setName(name);s.setAge(Integer.parseInt(age));s.setSex(sex);s.setSpecialty(specialty);array.add(s);System.out.println("添加员工成功");}public static boolean isUsed(ArrayList<Staff> array, String id) {boolean flag = false;for (int i = 0; i < array.size(); i++) {Staff s = array.get(i);if (s.getId()==Integer.parseInt(id)) {flag = true;break;}}return flag;}public static void find(ArrayList<Staff> array) {if (array.size() == 0) {System.out.println("无信息,请先添加信息再查询");} else {System.out.println("员工号\t\t姓名\t\t\t\t年龄\t\t\t\t\t性别\t\t\t\t\t专业");for (int i = 0; i < array.size(); i++) {Staff s = array.get(i);System.out.println(s.getId() + "\t\t\t" + s.getName() + "\t\t\t\t" + s.getAge() + "岁\t\t\t\t" + s.getSex()+"\t\t\t\t"+s.getSpecialty());}}}public static void delete(ArrayList<Staff> array) {Scanner sc = new Scanner(System.in);System.out.println("请输入你要删除的员工号:");String id = sc.nextLine();int index = -1;for (int i = 0; i < array.size(); i++) {Staff s = array.get(i);if (s.getId()==(Integer.parseInt(id))) {index = i;break;}}if (index == -1) {System.out.println("该员工不存在,请重新输入");} else {array.remove(index);System.out.println("删除成功");}}public static void update(ArrayList<Staff> array) {Scanner sc = new Scanner(System.in);System.out.println("请输入你要修改的员工号:");String id = sc.nextLine();int index = -1;for (int i = 0; i < array.size(); i++) {Staff staff = array.get(i);if (staff.getId()==(Integer.parseInt(id))) {index = i;break;}}if (index == -1) {System.out.println("该员工不存在,请重新输入");} else {System.out.println("请输入员工新的姓名:");String name = sc.nextLine();System.out.println("请输入员工新的年龄:");String age = sc.nextLine();System.out.println("请输入员工新的性别:");String sex = sc.nextLine();System.out.println("请输入员工新的专业:");String specialty = sc.nextLine();Staff s = new Staff();s.setId(Integer.parseInt(id));s.setName(name);s.setAge(Integer.parseInt(age));s.setSex(sex);s.setSpecialty(specialty);array.set(index, s);System.out.println("修改员工信息成功");}}
}
后面对员工信息的增添删改都是对动态数组的一个操作
我谈下我对动态数组的一个理解吧,纯属个人观点,如有误还请指点
普通的一维数组,例如int[ ]、String[ ]、char[ ] 这些数组,在使用前这个数组的长度已经是定下来了无法改变得。就像建房子一样,这房子只有一层并且它的长度也不能扩大,所以里面的房间数量也是一个定值,这里的房间数量也就是数组的长度。
而动态数组,像我们这里的动态数组里面存放的是Staff类,而Staff类有五个属性,那么也就是把动态数组的长度给定下来了,就是一层楼也只有五个房间,但是它与普通的一维数组不同,它能够增加它的高度
也就是像这样一样,它的宽度不能变,但是它的高度能根据需要而增加或减少,所以它才叫动态数组
Java实现员工管理系统相关推荐
- [附源码]计算机毕业设计JAVA企业员工管理系统
[附源码]计算机毕业设计JAVA企业员工管理系统 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(Inte ...
- 狂神说JAVA SpringBoot员工管理系统
SpringBoot员工管理系统(没有数据库) 成品:https://download.csdn.net/download/weixin_43501359/14927226 SpringBoot员工管 ...
- Java入门--员工管理系统
Java员工管理系统 需求 思路 定义员工类 主界面编写 查看员工的代码编写 新增员工代码的编写 判断工号是否被使用 修改员工代码的编写 删除员工的代码编写 需求 编写一个控制台版本的员工管理系统,员 ...
- [附源码]计算机毕业设计基于Java的员工管理系统Springboot程序
项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
- java ee 员工管理系统,fb3492 javaEE_原生Servlet_MySql企业员工信息管理系统的设计与实现,java源码含论文与答辩PPT...
fb3492 javaEE_原生Servlet_MySql企业员工信息管理系统的设计与实现,java源码含论文与答辩PPT 存储:百度网盘 --/资源热下载站/VIP源码/Java源码/fb3492 ...
- 基于Java的员工管理系统
本系统将使用JSP编程语言和MYSQL数据库进行开发,Myelcpse作为开发工具,后台数据库的连接采用JDBC直连的方式,最终完成系统的开发,实现各项添加.查询等功能.系统使用简单方便,界面一目了然 ...
- Java项目:员工管理系统(前后端分离+java+vue+Springboot+ssm+mysql+maven+redis)
源码获取:博客首页 "资源" 里下载! 一.项目简述 本系统功能包括:分为前端翻后端部分,包括用户,区分晋通用户以及誉里员用户,包括首页展示,部门管理,人事管理,员工管理三个模块等 ...
- [附源码]Python计算机毕业设计Django基于Java的员工管理系统
项目运行 环境配置: Pychram社区版+ python3.7.7 + Mysql5.7 + HBuilderX+list pip+Navicat11+Django+nodejs. 项目技术: dj ...
- java职工管理系统sql_java+sql员工管理系统
[实例简介] java+sql员工管理系统包含 源代码.数据库.报告文档.PPT 数据字典等,功能也非常齐全:代码都有注释,非常适合做毕业或者课程之类的设计. [实例截图] [核心代码] 原始文件 └ ...
最新文章
- Java 对象的理解
- 解决vue项目build之后部署到服务器访问的时候出现报错:Uncaught SyntaxError: Unexpected token ‘<‘ chunk-vendors:XXXXXX
- 信号完整性 带宽的确定
- 关于Pulsar与Kafka
- 微博收藏(机器学习代码与工具)(一)
- 2016奥运男篮分组
- java web服务_将Java服务公开为Web服务
- 前端对所有文件请求添加header_【前端面试必问】浏览器缓存原理?送你满分答案...
- python输出jpg_利用python实现.dcm格式图像转为.jpg格式
- 计算机图像处理发展前景,数字图像处理发展前景
- 产品快速迭代的五大要点
- 4.2 分类效果的评价
- MinGW-w64下载安装2024年最新教程
- fedora 下常用软件安装
- php--spry框架制作级联下拉菜单
- ubuntu挂载Nas及磁盘测速
- 宜人贷 PaaS 数据服务平台Genie 简介(一) 1
- 3.依赖注入setter注入和构造器注入
- 【机器学习】线性回归(理论)
- c 语言的输出函数cout,详解C++ cout格式化输出完全攻略