java实现人员信息管理系统
作者:ZJE_ANDY 发布时间:2023-11-02 05:21:31
标签:java,信息,管理系统
本文实例为大家分享了java实现人员信息管理系统的具体代码,供大家参考,具体内容如下
实现增删改查.
java入门的练手小程序
1.Person类
package p1;
public class Person {
// Person属性
private int num;
private String name;
private String sex;
private int salary;
public Person(int num, String name, String sex, int salary) {
super();
this.num = num;
this.name = name;
this.sex = sex;
this.salary = salary;
}
// 对Perosn操作的方法
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
}
2.SysMenu类
package p1;
public class SysMenu {
public static final String[] MENU = { "1.员工信息管理", "2.退出" };
public static final String[] OPERATION_MENU = { "1.新增", "2.查看", "3.修改", "4.删除", "5.返回" };
public static void showMenu(String[] Menu) {
for (int i = 0; i < Menu.length; i++)
System.out.print(Menu[i] + "\t\t");
System.out.println();
System.out.println("---------------------------------------");
}
}
3.SysInfo类
package p1;
import java.util.ArrayList;
import java.util.List;
public class SysInfo {
private static List informationList = new ArrayList();
// 获取 informationList
public static List getList() {
return informationList;
}
}
4.InformationService类
package p1;
import java.util.List;
public class InformationService {
private List informationList = SysInfo.getList();
// 获取信息列表
public List getList() {
return informationList;
}
// 按编号查找信息
public Person getPersonByNum(final int num) {
if (num < 1) {
System.out.println("编号错误");
return null;
}
for (int i = 0; i < informationList.size(); i++) {
Person p = (Person) informationList.get(i);
if (p.getNum() == num) {
System.out.println("查找成功");
return p;
}
}
System.out.println("查找失败");
return null;
}
//查看单一Person信息
public void showAPerson(Person p)
{
System.out.println("编号\t\t姓名\t\t性别\t\t薪水");
System.out.println(p.getNum()+ "\t\t" + p.getName() + "\t\t" + p.getSex() + "\t\t" + p.getSalary());
}
//show all Person
public void showPerson() {
System.out.println("编号\t\t姓名\t\t性别\t\t薪水");
List ps = getList();
for (int i = 0; i < ps.size(); i++) {
Person p = (Person) ps.get(i);
System.out.println(p.getNum() + "\t\t" + p.getName() + "\t\t" + p.getSex() + "\t\t" + p.getSalary());
}
}
// 按名字查找信息
public Person getPersonByName(final String name) {
if (name == null)
return null;
for (int i = 0; i < informationList.size(); i++) {
Person p = (Person) informationList.get(i);
if (p.getName().equals(name)) {
return p;
}
}
return null;
}
//检查对象是否存在
public boolean CheckExitByNum(int num)
{
for(int i=0;i<informationList.size();i++)
{
Person p = (Person)informationList.get(i);
if(p.getNum()==num)
return true;
}
return false;
}
//save Person
public void savePerson(Person p)
{
p.setNum(getPersonMaxInt()+1);
informationList.add(p);
}
// 查找最大编号
public int getPersonMaxInt()
{
int max = 0;
for(int i =0;i<informationList.size();i++)
{
Person p =(Person)informationList.get(i);
if(max < p.getNum())
max = p.getNum();
}
return max;
}
}
5.SysRun类
package p1;
import java.util.InputMismatchException;
import java.util.List;
import java.util.Scanner;
public class SysRun {
private List informationList = SysInfo.getList();
private Scanner s = new Scanner(System.in);
private InformationService is = new InformationService();
// 系统运行类
public static void main(String[] args) {
SysRun sys = new SysRun();
sys.sysRun();
}
public void sysRun() {
System.out.println("启动系统管理系统");
boolean isExit = false;
do {
System.out.println("----------操作选项-------------");
SysMenu.showMenu(SysMenu.MENU);
// 获取用户输入
int operNum = getCorrONum(SysMenu.MENU);
// 管理操作
isExit = doManageNum(operNum);
} while (!isExit);
System.out.println("系统退出.");
}
private boolean doManageNum(int operNum) {
boolean isExit = false;
switch (operNum) {
case 1:
is.showPerson();
System.out.println("----------操作选项-------------");
SysMenu.showMenu(SysMenu.OPERATION_MENU);
// addPerson();//test
System.out.println("输入功能选择:");
int num = getVaildInt();
doOperationNum(num);
break;
case 2:
isExit = true;
return isExit;
}
return isExit;
}
// doOperationNum
private void doOperationNum(int OperationNum) {
// 增,查,修,删,返回
switch (OperationNum) {
case 1:
// add
addPerson();
is.showPerson();
break;
case 2:
// 查看
viewPerson();
break;
case 3:
updatePerson();
break;
case 4:
deletePerson();
is.showPerson();
break;
case 5:
break;
}
}
// 删除Person
private void deletePerson() {
int num;
// Person p;
boolean isOk = false;
System.out.println("请输入要删除信息的编号:");
do {
num = getVaildInt();
isOk = is.CheckExitByNum(num);
if (isOk == true) {
System.out.println("编号信息查找成功。");
informationList.remove(is.getPersonByNum(num));
} else
System.out.println("输入编号有误,请重新输入:");
} while (!isOk);
}
// 修改Person
public void updatePerson() {
System.out.println("请输入要修改的信息编号:");
boolean isOk = false;
Person p;
do {
int num = getVaildInt();
isOk = is.CheckExitByNum(num);
if (isOk == true) {
isOk = true;
p = is.getPersonByNum(num);
is.showAPerson(p);
System.out.println("请输入名字:");
String name = s.next();
System.out.println("请输入性别:");
String sex = getVaildSex();
System.out.println("请输入工资:");
int salary = getVaildInt();
p.setName(name);
p.setSex(sex);
p.setSalary(salary);
is.showPerson();
} else
System.out.println("输入要修改的编号有误,请重新输入:");
} while (!isOk);
}
// 查看viewPerson()
private void viewPerson() {
System.out.println("请输入要查看的人的信息编号:");
Person p;
boolean isOk = false;
do {
int num = getVaildInt();
boolean NumIsOk = is.CheckExitByNum(num);
if (NumIsOk == true) {
p = is.getPersonByNum(num);
is.showAPerson(p);
isOk = true;
} else {
System.out.println("无此编号的人的信息,请重新输入:");
}
} while (!isOk);
}
// addPerson()
private void addPerson() {
System.out.println("------------新增对象---------------");
boolean isOk = false;
String name = null;
do {
System.out.println("请输入名称(且不能与现有的对象重名)");
name = s.next();
// 处理同名冲突
if (is.getPersonByName(name) == null) {
isOk = true;
} else {
System.out.println("该人信息已存在,请重新输入!");
s.next();
}
} while (!isOk);
// other information
System.out.println("请输入其他信息...");
System.out.println("sex:");
String sex = getVaildSex();
System.out.println("salary:");
int salary = getVaildInt();
// save
is.savePerson(new Person(0, name, sex, salary));
}
/* 输入有效int */
private int getVaildInt() {
int num = 0;
boolean isOk = false;
do {
try {
num = s.nextInt();
isOk = true;
} catch (InputMismatchException e) {
System.out.println("输入错误,请重新输入");
s.next();
}
} while (!isOk);
return num;
}
/* 输入有效sex信息 */
private String getVaildSex() {
String sex = null;
boolean isOk = false;
do {
sex = s.next();
if (sex.equals("f") || sex.equals("m"))
isOk = true;
else {
System.out.println("sex输入让 有误,请重新输入");
}
} while (!isOk);
return sex;
}
public int getCorrONum(String[] targetMenu) {
System.out.println("请输入要选择的操作:");
int inputNum = 0;
boolean inputIsOk = false;
do {
try {
inputNum = s.nextInt();
System.out.println("输入的是" + inputNum);
if (inputNum >= 1 && inputNum <= targetMenu.length) {
inputIsOk = true;
} else {
System.out.println("输入错误,请重新输入!");
}
} catch (InputMismatchException e) {
System.out.println("输入有误,请重新输入");
// 若输入出现异常,Scanner要丢弃上一次的输入,否则 do-while会出现死循环
s.next();
}
} while (!inputIsOk);
return inputNum;
}
}
效果图:
来源:https://blog.csdn.net/u014453898/article/details/79007883


猜你喜欢
- C语言是一种高级编程语言,其最重要的特点之一是它允许程序员使用函数来组织代码。函数是一组相关的指令的集合,可以在程序中多次调用。在 C语言中
- C#写入xml文件1、XmlDocument1。我认为是最原始,最基本的一种:利用XmlDocument向一个XML文件里写节点,然后再利用
- MyBatis resultMap id标签的错误使用我们在编写VO对象,如果业务场景稍微复杂一点,就会用到集合属性。例如用户查看个人订单列
- 编写按钮属性首先再values/themes 或者values/style在文件下编写按钮属性buttonBarPositiveButton
- IDEA全局替换通过快捷键 Ctrl+Shift+r 或这点击 Edit 》Find 》Replace In Path有些IDEA版本按了快
- 本文适合有 Java 基础的人群作者:DJL-LankingHelloGitHub 推出的《讲解开源项目》系列。有幸邀请到了亚马逊 + Ap
- 我就废话不多说了,大家还是直接看代码吧~package c10; import java.util.Scanner; public clas
- OpenCv提供了函数 findContours()用于对物体轮廓进行检测,该函数实现算法是由S.suzuki K.Abe于1985年发表的
- 前端采用layui框架,讲解多文件上传的完整实现功能。前端html重点代码如下:<div class="layui-form
- 进程之间的通信是为了解决不同进程之间的数据传输问题,这样可以让不同程序交互数据。实现进程通信的方式:1、剪切板;2、COM;3、内存映射文件
- 我就废话不多说了,大家还是直接看代码吧~<select id="getBiTree" parameterType=
- 一、项目简述功能包括:用户分为宠物,医生,管理员,宠物主人可进行注册选择医生挂号,选择日期,选择号源,医生可进行宠物接诊,管理员可对宠物,医
- 目录特性引入依赖使用特性Kotlin + Flow 实现的 Android 应用初始化任务启动库。支持模块化,按模块加载任务可指定工作进程名
- 一.背景在复习《C++基础与提高》时,自己实现运算符重载(i++)时,几次都报错。其实还是自己对运算符重载这一部分内容理解得不够透彻,于是再
- 日常开发中,判断邮箱是少不了的,这个我以**C#**为例,来写一个判断方法,正则表达式是通用的,CV就可以首先引入正则需要使用的命名空间//
- 前言Spring框架的 validator 组件,是个辅助组件,在进行数据的完整性和有效性非常有用,通过定义一个某个验证器,即可在其它需要的
- 当把窗体的FormBorderStyle属性设为None后会导致边框没了,结果窗体无法用鼠标拖动、最大、最下化和关闭……下面解决窗体可拖动问
- 1.Java 9以前堆栈遍历到目前为止,官方解决方案是获取当前线程并调用其getStackTrace()方法:StackTraceEleme
- 在项目中引入springcloud中的gateway时报以下错误Description:Parameter 0 of method modi
- 系列目录 【已更新最新开发文章,点击查看详细】类似于以下场景,将表单中的用户信息(包含附件)上传到服务器并保存到数据库中,<form