广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java实现员工信息管理系统
  • 408
分享到

Java实现员工信息管理系统

2024-04-02 19:04:59 408人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

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

在Java SE中,对io流与集合的操作在应用中比较重要。接下来,我以一个小型项目的形式,演示IO流、集合等知识点在实践中的运用。

该项目名称为“员工信息管理系统”(或“员工收录系统”),主要是通过输入员工的id、姓名信息,实现简单的增删改查功能。

该项目主要在DOS窗口的控制台或者Eclipse的控制台上进行操作。操作界面如下:

该项目的文件结构如下:

Step 1:

入口类SystemMain的代码为:

package empsystem;
import java.util.Scanner;

public class SystemMain {
private Scanner sc=new Scanner(System.in);
public SystemMain() {
showWelcome();
}
public void showWelcome(){
System.out.println("----员工收录系统");
System.out.println("1.增加员工功能");
System.out.println("2.查看员工功能");
System.out.println("3.修改员工功能");
System.out.println("4.删除员工功能");
System.out.println("5.退出系统");
String choice=sc.nextLine();
switch(choice){
case "1":
System.out.println("您选择了增加用户功能");
//Add
new Add();
break;
case "2":
System.out.println("您选择了查看用户功能");
//Search
new ShowEmp();
break;
case "3":
System.out.println("您选择了修改用户功能");
//Modify
new Modify();
break;
case "4":
System.out.println("您选择了删除用户功能");
//删除用户Delete
new Delete();
break;
case "5":
System.out.println("您选择了退出系统");
return;
default:
System.out.println("无此功能");
break;
}
showWelcome();
}
public static void main(String[] args) {
new SystemMain();
}
}

Step 2:

写文件路径FilePath接口。

package empsystem;
public interface FilePath {
public static final String PATH_NAME="emp.em";
}

Step 3:

写员工类Employ。

package empsystem;
import java.io.Serializable;

public class Employ implements Serializable{
private int id;
private String name;
public Employ() {
}
public Employ(int id, String name) {
super();
this.id = id;
this.name = name;
}
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;
}
@Override
public String toString() {
return "Employ [id=" + id + ", name=" + name + "]\n";
}
}

Step 4:

根据ID查找员工的类SearchID。

package empsystem;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.util.ArrayList;
import java.util.List;

public class SearchID {
private SearchID(){}
public static Employ searchId(int id){
File file=new File(FilePath.PATH_NAME);
if(file.exists()){
try {
ObjectInputStream ois=new ObjectInputStream(new FileInputStream(file));
try {
ArrayList<Employ> ems=(ArrayList<Employ>) ois.readObject();
ois.close();
for(int i=0;i<ems.size();i++){
if(id==ems.get(i).getId()){
return ems.get(i);
}
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
return null;
}
return null;
}
} 

Step 5:

接下来是增,查,改,删的类,分别是Add类,ShowEmp类, Modify类,Modify类。

(1)

package empsystem;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.Scanner;

public class Add {
private Scanner sc=new Scanner(System.in);
private File file=new File(FilePath.PATH_NAME);
private ArrayList<Employ> ems;
public Add() {
if(file.exists()){
try {
ObjectInputStream ois=new ObjectInputStream(new FileInputStream(file));
try {
ems=(ArrayList<Employ>) ois.readObject();
ois.close();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
ems=new ArrayList<Employ>();
}
if(ems!=null){
add();
}else{
System.out.println("系统内部问题,无法操作");
return;
}
}
public boolean checkNum(String idStr){
//检测输入格式
if(idStr==null || idStr.equals("")){
System.out.println("非法输入,重来");
return false;
}
char[] cs=idStr.toCharArray();
for(int i=0;i<cs.length;i++){
if(cs[i]<'0' || cs[i]>'9'){
System.out.println("输入非法,重来");
return false;
}
}
return true;
}
private String idStr;
public int getRightNum(){
idStr=sc.nextLine();
if(!checkNum(idStr)){
getRightNum();
}
int id=Integer.parseInt(idStr);
return id;
}
public void askGoOn(){
System.out.println("请问是否继续录入?Y/N");
String choice=sc.nextLine();
if("Y".equalsIgnoreCase(choice)){
add();
}else if("N".equalsIgnoreCase(choice)){
//保存到文件
saveToFile();
return;
}else{
System.out.println("无此命令,请重新选择!");
askGoOn();
}
}
public void saveToFile(){
try {
ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream(file));
oos.writeObject(ems);
oos.close();
//测试打印查看
System.out.println("添加成功");
System.out.println(ems);
return;
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void add(){
System.out.println("请输入用户ID:");
//返回整数
int id=getRightNum();
for(int i=0;i<ems.size();i++){
if(id==ems.get(i).getId()){
System.out.println("id已存在,请重新输入");
add();
}
}
System.out.println("请输入员工姓名:");
String name=sc.nextLine();
Employ em=new Employ(id,name);
ems.add(em);
//询问是否继续录入
askGoOn();
}
}

(2)

package empsystem;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.util.ArrayList;
import java.util.Scanner;

public class ShowEmp {
private Scanner sc=new Scanner(System.in);
private File file=new File(FilePath.PATH_NAME);
private ArrayList<Employ> ems;
public ShowEmp() {
if(file.exists()){
try {
ObjectInputStream ois=new ObjectInputStream(new FileInputStream(file));
try {
ems=(ArrayList<Employ>) ois.readObject();
ois.close();
if(ems!=null){
show();
}else{
System.out.println("系统内部问题,无法操作");
return;
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
System.out.println("数据文件不存在,无法查看");
return;
}
}
public boolean checkNum(String idStr){
//检测输入格式
if(idStr==null || idStr.equals("")){
System.out.println("非法输入,重来");
return false;
}
char[] cs=idStr.toCharArray();
for(int i=0;i<cs.length;i++){
if(cs[i]<'0' || cs[i]>'9'){
System.out.println("输入非法,重来");
return false;
}
}
return true;
}
private String idStr;
public int getRightNum(){
idStr=sc.nextLine();
if(!checkNum(idStr)){
getRightNum();
}
int id=Integer.parseInt(idStr);
return id;
}
public void show(){
System.out.println("查看全部员工输入Y,查看单个员工输入N");
String choice=sc.nextLine();
if("Y".equalsIgnoreCase(choice)){
System.out.println(ems);
return;
}else if("N".equalsIgnoreCase(choice)){
System.out.println("请输入要查询的员ID:");
int id=getRightNum();
if(SearchID.searchId(id)!=null){
System.out.println("您查找的员工信息为:\n"+SearchID.searchId(id));
return;
}else{
System.out.println("无此用户");
return;
}
}else{
System.out.println("无此命令,请重新选择!");
show();
}
}
}

(3)

package empsystem;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.Scanner;

public class Modify {
private Scanner sc=new Scanner(System.in);
private File file=new File(FilePath.PATH_NAME);
private ArrayList<Employ> ems;
public Modify() {
if(file.exists()){
try {
ObjectInputStream ois=new ObjectInputStream(new FileInputStream(file));
try {
ems=(ArrayList<Employ>) ois.readObject();
ois.close();
if(ems!=null){
modify();
}else{
System.out.println("系统内部问题,无法操作");
return;
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
System.out.println("数据文件不存在,无法查看");
return;
}
}
public boolean checkNum(String idStr){
//检测输入格式
if(idStr==null || idStr.equals("")){
System.out.println("非法输入,重来");
return false;
}
char[] cs=idStr.toCharArray();
for(int i=0;i<cs.length;i++){
if(cs[i]<'0' || cs[i]>'9'){
System.out.println("输入非法,重来");
return false;
}
}
return true;
}
private String idStr;
public int getRightNum(){
idStr=sc.nextLine();
if(!checkNum(idStr)){
getRightNum();
}
int id=Integer.parseInt(idStr);
return id;
}
public void saveToFile(){
try {
ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream(file));
oos.writeObject(ems);
oos.close();
//测试打印查看
System.out.println("修改成功");
System.out.println(ems);
return;
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void modify(){
System.out.println("请输入要修改的用户ID:");
int id=getRightNum();
if(SearchID.searchId(id)!=null){
System.out.println("修改前用户的姓名为:"+SearchID.searchId(id).getName());
System.out.println("请输入修改后的姓名:");
String name=sc.nextLine();
for(int i=0;i<ems.size();i++){
if(id==ems.get(i).getId()){
ems.get(i).setName(name);
saveToFile();
}
}
}else{
System.out.println("无此用户");
return;
}
}
}

(4)

package empsystem;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Scanner;

public class Delete {
private Scanner sc=new Scanner(System.in);
private File file=new File(FilePath.PATH_NAME);
private ArrayList<Employ> ems;
public Delete() {
if(file.exists()){
try {
ObjectInputStream ois=new ObjectInputStream(new FileInputStream(file));
try {
ems=(ArrayList<Employ>) ois.readObject();
ois.close();
if(ems!=null){
delete();
}else{
System.out.println("系统内部问题,无法操作");
return;
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
System.out.println("数据文件不存在,无法查看");
return;
}
}
public boolean checkNum(String idStr){
//检测输入格式
if(idStr==null || idStr.equals("")){
System.out.println("非法输入,重来");
return false;
}
char[] cs=idStr.toCharArray();
for(int i=0;i<cs.length;i++){
if(cs[i]<'0' || cs[i]>'9'){
System.out.println("输入非法,重来");
return false;
}
}
return true;
}
private String idStr;
public int getRightNum(){
idStr=sc.nextLine();
if(!checkNum(idStr)){
getRightNum();
}
int id=Integer.parseInt(idStr);
return id;
}
public void saveToFile(){
try {
ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream(file));
oos.writeObject(ems);
oos.close();
System.out.println("删除成功");
//测试打印查看
System.out.println(ems);
return;
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void delete(){
System.out.println("请输入要删除的员工ID:");
int id=getRightNum();
if(SearchID.searchId(id)!=null){
System.out.println("删除前用户的姓名为:"+SearchID.searchId(id).getName());
Iterator<Employ> it=ems.iterator();
while(it.hasNext()){
Employ em=it.next();
if(id==em.getId()){
it.remove();
saveToFile();
}
}
}else{
System.out.println("无此用户");
return;
}
}
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: Java实现员工信息管理系统

本文链接: https://www.lsjlt.com/news/140717.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java实现员工信息管理系统
    在Java SE中,对IO流与集合的操作在应用中比较重要。接下来,我以一个小型项目的形式,演示IO流、集合等知识点在实践中的运用。 该项目名称为“员工信息管理系统&rdq...
    99+
    2022-11-13
  • Python实现员工信息管理系统
    本文实例为大家分享了Python实现员工信息管理系统的具体代码,供大家参考,具体内容如下 1.职员信息管理系统 要求: 1、依次从键盘录入每位员工的信息,包括姓名、员工id、身份证号...
    99+
    2022-11-11
  • java实现人员信息管理系统
    本文实例为大家分享了java实现人员信息管理系统的具体代码,供大家参考,具体内容如下 实现增删改查. java入门的练手小程序 1.Person类 package p1;   pu...
    99+
    2022-11-13
  • 怎么使用Python实现员工信息管理系统
    本文小编为大家详细介绍“怎么使用Python实现员工信息管理系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用Python实现员工信息管理系统”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.职员信息管...
    99+
    2023-06-30
  • Java员工信息管理功能怎么实现
    本篇内容介绍了“Java员工信息管理功能怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一. 员工信息分页查询1. 需求分析当系统中的...
    99+
    2023-06-30
  • java实现员工工资管理系统
    本文实例为大家分享了java实现员工工资管理系统的具体代码,供大家参考,具体内容如下 一、题目要求 设计员工工资管理系统,实现以下功能: (1)输入5名员工姓名、工号、月工资;(2)...
    99+
    2022-11-13
  • python实现会员信息管理系统(List)
      题目要求 1.后台管理员只有一个用户:admin, 密码: admin2.当管理员登陆成功后,可以管理前台会员信息。3.会员信息管理包括:   添加...
    99+
    2022-11-13
  • python如何实现会员信息管理系统
    本篇内容介绍了“python如何实现会员信息管理系统”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!题目要求后台管理员只有一个用户:admin...
    99+
    2023-06-29
  • C++实现高校人员信息管理系统
    高校人员信息管理系统设计,供大家参考,具体内容如下 一、问题描述及功能要求 1、问题描述 某高校有四类员工:教师、实验员、行政人员,教师兼行政人员;共有的信息包括:编号、姓名、性别、...
    99+
    2022-11-12
  • C++实现职工信息管理系统
    本文实例为大家分享了c++实现职工信息管理系统的具体代码,供大家参考,具体内容如下 1、项目需求 2、功能实现的具体思路为: (1) 经行职工信息的读入,用while循环进行读入,...
    99+
    2022-11-13
  • Java实现简单员工管理系统
    本文实例为大家分享了Java实现简单员工管理系统的具体代码,供大家参考,具体内容如下 代码如下: import java.util.*; public class Demo {   ...
    99+
    2022-11-13
  • Java实现企业员工管理系统
    基于Java的简单的企业员工管理系统,供大家参考,具体内容如下 首先创建了一个员工类 定义员工应有的属性:工号、姓名、性别、职位、年龄、工资、部门      private int ...
    99+
    2022-11-13
  • java实现人员信息管理系统的代码怎么写
    今天小编给大家分享一下java实现人员信息管理系统的代码怎么写的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。实现增删改查.j...
    99+
    2023-06-29
  • C++实现教职工信息管理系统
    本文实例为大家分享了C++实现教职工信息管理系统的具体代码,供大家参考,具体内容如下 一.问题描述 一个小公司包含四类人员:经理,技术人员,销售人员和销售经理,各类人员的工资计算方法...
    99+
    2022-11-13
  • Java中如何实现员工管理系统
    这篇文章主要为大家展示了“Java中如何实现员工管理系统”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java中如何实现员工管理系统”这篇文章吧。一、项目简述本系统功能包括:分为前端翻后端部分,...
    99+
    2023-06-25
  • 员工管理系统java版
    员工管理系统要求如下:通过面向对象的编程思想,实现员工信息的增删改查,存储结构为数组。限定数组长度为100。实现页面:添加员工查找员工修改员工删除员工、退出工程目录结构:Employee基类public class Employee { ...
    99+
    2023-05-30
    java 员工管理系统 ava
  • C++实现教工考勤信息管理系统
    本文实例为大家分享了C++实现教工考勤信息管理系统的具体代码,供大家参考,具体内容如下 需求分析 传统意义上的考勤管理都是采用原始的手工操作来完成的。人事部的管理人员或办公室人员要进...
    99+
    2022-11-13
  • Java如何实现员工绩效管理系统
    这篇文章主要为大家展示了“Java如何实现员工绩效管理系统”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java如何实现员工绩效管理系统”这篇文章吧。基于SSM+Mysql+Maven+HTML...
    99+
    2023-06-22
  • Java LinkedList实现班级信息管理系统
    LinkedList实现班级信息管理系统,供大家参考,具体内容如下 代码如下: import java.util.*; public class Demo2 {     public...
    99+
    2022-11-13
  • Java ArrayList实现班级信息管理系统
    ArrayList实现班级信息管理系统,供大家参考,具体内容如下 代码如下: import java.util.*; public class Demo1 {     public ...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作