基于Java的人员信息管理系统

  • 介绍
  • 实现类(Person)
  • 实现类(Menu)
  • 实现类(Input)
  • 实现类(Operator)
  • 实现类(Test)
  • 结果展示:
  • 操作环境以及信息

介绍

利用Java有关知识,解决有关人员信息(编号,姓名,年龄…。等等)的存储,以及进行简单的增加,删除,修改,查询数据…等等操作。

实现类(Person)

编写一个人员类进行对存储人员属性的初始化,包括(编号,姓名,年龄),以及制定各个人员之间的比较规则。
代码展示:

package InformationSystem;import java.io.Serializable;public class Person implements Serializable,Comparable<Person>{private int id; //人员编号private String name; //人员姓名private int age;//人员年龄public Person(){};public Person(int id,String name,int age){ //初始化this.id=id;this.name=name;this.age=age;}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;}@Overridepublic String toString() {// TODO Auto-generated method stubreturn "编号:"+this.getId()+",姓名:"+this.getName()+",年龄:"+this.getAge();}@Overridepublic int compareTo(Person o) { //制定比较规则if(this.id<o.id){return -1;}else if(this.id>o.id){return 1;}else{return 0;}}
}

实现类(Menu)

用于方便使用者与控制台交互,采用文字排版,来显示功能提醒。
代码展示:

package InformationSystem;public class Menu {public static void show(){System.out.println("欢迎使用大数据信息管理系统");System.out.println("******1.增加数据*****");System.out.println("******2.删除数据*****");System.out.println("******3.修改数据*****");System.out.println("******4.查看数据*****");System.out.println("******5.系统退出*****");}
}

实现类(Input)

用于捕获用户的输入内容,根据输入内容的类型进行不同方法的使用,同时制约了输入内容的格式一致以及规定了年龄的范围等。
代码展示:

package InformationSystem;
import java.util.*;
public class Input {private Scanner scan;public Input(){scan = new Scanner(System.in);}//编写一个方法,用来获取用户输入的任何的内容public String getString(String info){System.out.println(info);return scan.nextLine();}//编写一个方法,用来用户用户输入的整数,我们判断格式,如果格式不正确则重新输入public int getInt(String info,String error){//获取用户输入的内容String str = getString(info);//对用户输入的内容判断其格式是否满足需求while(!str.matches("\\d+")){System.out.println(error);str = getString(info);}return Integer.parseInt(str);}//编写一个方法,用来获取用户的年龄public int getAge(String info,String error1,String error2){int age = getInt(info, error1);while(!(age>0&&age<120)){System.out.println(error2);age = getInt(info, error1);}return age;}
}

实现类(Operator)

用于实现整体的展示,和对人员数据的存储,读取以及执行增删改查操作等。是项目的核心。
代码展示:

package test.ManagerSystem;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.Collections;public class Operator{private Input input;private File file=null;private ArrayList<Person> alist=null;private boolean flag;public Operator(){input=new Input();file=new File("E:"+File.separator+"王伯文"+File.separator+"person.txt");alist=new ArrayList<Person>();flag=true;}public void operator(){while(flag){Menu.show();int choice=input.getInt("输入数字来选择功能!", "只能是数字!");switch(choice){case 1://增加数据int id=getMaxID()+1;String name=input.getString("请输入你要增加人员的姓名!");int age=input.getAge("请输入你要增加的人员年龄", "年龄只能是数字", "超过人类正常年龄!");Person per=new Person(id,name,age);alist.add(per);update();break;case 2://删除数据select();if(alist.size()>0){for(Person p:alist){System.out.println(p);}}else{System.out.println("暂无数据!");}int deleteid=input.getInt("请输入你要删除人员的id", "只能为数字!");if(checkID(deleteid)){for(int index=0;index<alist.size();index++){if(alist.get(index).getId()==deleteid){alist.remove(index);break;}}update();}else{System.out.println("人员不存在!");}break;case 3://修改数据select();if(alist.size()>0){for(Person p:alist){System.out.println(p);}}else{System.out.println("暂无数据!");}int updateId=input.getInt("请输入你要修改的人员id", "只能是数字!");if(checkID(updateId)){String updateName=input.getString("请输入你要修改成的姓名");int updateAge=input.getAge("请输入你要修改成的年龄", "年龄只能是整数", "年龄超出正常人水平");for(Person person:alist){if(person.getId()==updateId){person.setName(updateName);person.setAge(updateAge);break;}}update();}else{System.out.println("您要修改的人员不存在!");}break;case 4://查询数据select();if(alist.size()>0){for(Person p:alist){System.out.println(p);}}else{System.out.println("暂无数据!");}break;case 5:System.out.println("系统退出成功!");System.exit(0);break;default:System.out.println("没有此选项!");break;}}}public void select(){ObjectInputStream ois=null;try {ois=new ObjectInputStream(new FileInputStream(file));alist=(ArrayList<Person>)ois.readObject();} catch (FileNotFoundException e) {} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{if(ois!=null){try {ois.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}public int getMaxID(){int id=0;select();if(alist.size()>0){Collections.sort(alist);return alist.get(alist.size()-1).getId();}return id;}public void update(){ObjectOutputStream ops=null;try {ops=new ObjectOutputStream(new FileOutputStream(file));ops.writeObject(alist);} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{if(ops!=null){try {ops.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}public boolean checkID(int id){boolean flag=false;for(Person p:alist){if(p.getId()==id){flag=true;break;}}return flag;}
}

注意:在执行增删改查操作的前提都要查看是否有数据,才能进行下一步操作的执行。删除和修改都是根据我们的编号来进行操作,大大降低了检索难度和资源的浪费。

实现类(Test)

实现整体功能的入口
代码展示:

package InformationSystem;public class test {public static void main(String[] args) {Operator op=new Operator();op.operator();;}
}

结果展示:

查询数据:

增加数据:

删除数据:

修改数据:

系统退出:

操作环境以及信息

系统环境:windows 10 专业版
语言:Java
开发工具:eclipse

基于Java的人员信息管理系统相关推荐

  1. 基于Java毕业设计志愿者信息管理系统源码+系统+mysql+lw文档+部署软件

    基于Java毕业设计志愿者信息管理系统源码+系统+mysql+lw文档+部署软件 基于Java毕业设计志愿者信息管理系统源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B/S架构 ...

  2. 基于JAVA高校科研信息管理系统计算机毕业设计源码+数据库+lw文档+系统+部署

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

  3. 用java写的教职工信息管理系统_基于Java的教师信息管理系统的设计与实现论文.doc...

    基于Java的教师信息管理系统的设计与实现论文 职场大变样社区():下载毕业设计成品 全套资料,全部50元以下 毕业设计(论文)任务书 第1页 毕业设计(论文)题目: 基于java的教师信息管理系统的 ...

  4. 基于JAVA网上家教信息管理系统计算机毕业设计源码+数据库+lw文档+系统+部署

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

  5. 基于Java毕业设计畜牧场信息管理系统源码+系统+mysql+lw文档+部署软件

    基于Java毕业设计畜牧场信息管理系统源码+系统+mysql+lw文档+部署软件 基于Java毕业设计畜牧场信息管理系统源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B/S架构 ...

  6. 基于JAVA汽车售后服务信息管理系统的设计与实现计算机毕业设计源码+系统+mysql数据库+lw文档+部署

    基于JAVA汽车售后服务信息管理系统的设计与实现计算机毕业设计源码+系统+mysql数据库+lw文档+部署 基于JAVA汽车售后服务信息管理系统的设计与实现计算机毕业设计源码+系统+mysql数据库+ ...

  7. 学生信息录入java,基于java的学生信息管理系统

    基于java的学生信息管理系统中分为多级角色管理:包括系统管理员.学生和老师几种权限,采用了开发技术JSP以及MYSQL数据库作为本系统的开发工具.主要包括新闻模块,考试模块,学生模块,教师模块,选课 ...

  8. 基于JAVA毕业生就业信息管理系统计算机毕业设计源码+系统+lw文档+部署

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

  9. 计算机毕业设计ssm基于java的仓储信息管理系统o9ypl系统+程序+源码+lw+远程部署

    计算机毕业设计ssm基于java的仓储信息管理系统o9ypl系统+程序+源码+lw+远程部署 计算机毕业设计ssm基于java的仓储信息管理系统o9ypl系统+程序+源码+lw+远程部署 本源码技术栈 ...

最新文章

  1. uniapp设置模板路径页面样式混乱解决办法
  2. 小眼睛适合大框还是小框眼镜_北京潘家园眼镜城良心商家推荐
  3. wireshark读写pcap文件_PCAP-file-analysis 利用wireshark捕获tcp ip数据包和pcap文件分析 - 下载 - 搜珍网...
  4. 编译原理--NFA/DFA
  5. 一些服务器编程的概念
  6. 洛谷-图的遍历-P2661-信息传递
  7. python3实战练手项目_Python0基础练手项目有哪些值得推荐?附实战项目+学习图谱...
  8. 世界目光聚焦美国:埃博拉病患者是否认真是可以治愈的?
  9. JetBrains(Intellij, pycharm)多行编辑模式
  10. mysql导出数据库视频教程_Navicat怎样导入导出sql文件?(图文步骤+视频教程)...
  11. IPOP-CMA-ES:一种重启CMA-ES
  12. 如何创造一个能和你对话的语音AI?
  13. 食品加工行业MES与APS的应用
  14. vue路由报错Navigating to current location (“/login“) is not allowed踩坑总结
  15. Jquery.city-picker 实现省市区三级联动
  16. Cygwin+NS2的安装过程及问题解决
  17. 深度学习之语义分割unet算法解读
  18. 火拼商城:4亿乡村新中产正在消费升级!
  19. 百度云下载官方免费提速方案
  20. python数据分析--金融数据处理

热门文章

  1. C# 计算两条线段交点的位置
  2. 百度贴吧爬虫:理解网页的加载过程
  3. ubuntu 18.04安装 imu-tk ,校准加速度计和陀螺仪
  4. 计算机教室网络连接简图,多媒体教室连接示意图.ppt
  5. WEB 免费打印控件推荐
  6. 从键盘输入一批字符,以@结束,按要求加密并输出。输出占一行 加密规则: 1)、所有字母均转换为小写。 2)、若是字母'a'到'y',则转化为下一个字母。 3)、若是'z',则转化为'a'。
  7. 苏州新导RFID智能仓储管理系统+RFID仓库管理,智能化仓储管理触手可及
  8. 搜狗输入法词库php词库怎么用,中州韵输入法导入搜狗词库(示例代码)
  9. iperf 网速测速
  10. Android Volley完全解析(一),初识Volley的基本用法 转载地址:http://blog.csdn.net/guolin_blog/article/details/17482095