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;
    }
 
}

效果图:

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

(0)

相关推荐

  • java(swing)+ mysql实现学生信息管理系统源码

    本文实例为大家分享了java实现学生信息管理系统源码,供大家参考,具体内容如下 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection; import

  • java+SQL server2008学生信息管理系统源码

    本文实例为大家分享了java学生信息管理系统源码的具体代码,供大家参考,具体内容如下 1.StudetManage类(主界面) package com.sms3; import java.awt.*; import javax.swing.*; import java.awt.event.*; public class StudentManage extends JFrame implements ActionListener { /** * @param args */ public stat

  • java实现商品信息管理系统

    超市商品管理系统,供大家参考,具体内容如下 题目要求 超市中商品分为四类,分别是食品.化妆品.日用品和饮料.每种商品都包含商品名称.价格.库存量和生产厂家.品牌等信息.主要完成对商品的销售.统计和简单管理.这个题目相对简单,可以用一张表实现信息的保存和处理,因此不再给出数据库设计参考. 功能要求 (1)销售功能. 购买商品时,先输入类别,然后输入商品名称,并在库存中查找该商品的相关信息.如果有库存量,输入购买的数量,进行相应计算.如果库存量不够,给出提示信息,结束购买. (2)商品简单管理功能.

  • java实现学生信息管理系统

    JAVA简单写学生信息管理系统,实现学生信息的输入.查询.修改.删除操作 package Week; import jdk.internal.util.xml.impl.Input; import java.util.HashSet; import java.util.Scanner; public class StudentMs { Scanner sc = new Scanner(System.in); public int getID() { return ID; } public Str

  • javaWeb实现学生信息管理系统

    本文为大家分享了javaWeb实现学生信息管理系统,供大家参考,具体内容如下 初始版 初始版是没有加分页的.因为没怎么学过前端,界面很丑陋.主要技术:JSP,JavaBean,servlet,JDBC主要页面如下: 登录页面 主页 添加学生 查看所有学生 查询学生 工程目录 数据库 两个表,user表和student表.为了使用DBUtils工具,一定要注意数据库表的属性的命名和JavaBean的get(),set() 方法的匹配.比如t_user表里的uname,在JavaBean中是:pri

  • java学生信息管理系统设计

    本例的学生信息添加进入数据库的事务(可以提交事务,事务回滚,用本地线程完善) 主页面index.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <htm

  • java实现简单的学生信息管理系统代码实例

    java实现简单的学生信息管理系统(无界面) 学生类实体: package com.edu.imau.wcy; public class Stu { private String stuNum;//学号 private String name;//姓名 private String gender;//性别 private int age;//年龄 private int score;//分数 public Stu() { super(); } public String getStuNum()

  • Java+MySQL实现学生信息管理系统源码

    基于Java swing+MySQL实现学生信息管理系统:主要实现JDBC对学生信息进行增删改查,应付一般课设足矣,分享给大家.(由于篇幅原因,代码未全部列出,如有需要留下邮箱) 鉴于太多同学要源码,实在发不过来,上传到github上 https://github.com/ZhuangM/student.git 1. 开发环境:jdk7+MySQL5+win7 代码结构:model-dao-view 2. 数据库设计--建库建表语句: CREATE DATABASE student; DROP

  • 学生信息管理系统java版

    本文为大家分享了java学生信息管理系统的源代码,供大家参考,具体内容如下 /*学生信息管理系统,实现学生信息: *增加 int[] a=new int[9] *删除 *查找 *更改 */ import java.util.Scanner;//导入java输入流 import java.lang.*; import java.io.*; class Student { private static Student[] s=new Student[2]; int n=0; private Stri

  • java学生信息管理系统源代码

    本文实例为大家分享了java学生信息管理系统的具体代码,实现学生信息: 增加 int[] a=new int[9] .删除 .查找.更改,供大家参考,具体内容如下 /*学生信息管理系统,实现学生信息: *增加 int[] a=new int[9] *删除 *查找 *更改 */ import java.util.Scanner;//导入java输入流 import java.lang.*; import java.io.*; class Student { private static Stude

随机推荐