JAVA:实现简单的人员管理系统

------实现系统的增删改查,代码会在底部会发出来;

一、准备工作

1.1

        右键在指定目录新建一个软件包;

1.2

        在 Name 取好名字点击 Finish 建立包;

 1.3

        右键新建的包创建两个类;

 1.4

        取名后点击 Finish ;

        为了看起来更规范,我一个取名为 Staff 、一个取名为 StaffManagement ;

二、Staff 类

 2.1

        于 Staff  类中定义四个变量,分别存储人员的 id 、姓名 、年龄 、生源 ;

 2.2

        在类中再定义一个无参构造函数,一个有参构造函数;

        不一定都会用到,但是多写一个也没什么不好

 2.3

         给每一个元素编写 set 、get 代码,用于读取跟修改;

三、StaffManagement 类

3.1

        1.因为要在后续多个方法内使用输入,故将 Scanner 声明在全局;

        2.声明全局变量 n ,用于接收后续操作信息;

        3.创建一个 Staff 类的集合,用于保存人员信息;

        4.输出一条进入系统的提示;( 样式凭自己爱好调整即可 )

 3.2

        1.调用 show 方法进入下一步操作;

        2.show 方法首先输出有关指令的提示信息;

        3.使用 n 接收指令,因为只有 1 - 5 的指令,故超出范围则需要重新输入;

        4.因为后续会使用读取字符的语句,输入 n 时会残余一个回车,为避免读取错误,使用 nextLine 将回车无效化;

 3.3

        对 n 取值进行判断,使各取值调用各自所对应的方法,完毕后再次进入 show 方法;

        若 n 取值为 5 ,则直接结束整个循环;

        结束循环后没有任何语句,故调用返回;

        返回主方法后输出退出系统的提示;

 3.4

        select 方法,该方法会将集合内所有的人员信息打印出来;

        ( 可凭自己爱好调整 )

 3.5

        在刚进入 select 方法时增加一条判断,如果表内无信息,则输出提示;

        根据提示信息可选择进行其他操作也可退出系统; 

3.6

        insert 方法先实例化一个 Staff 对象,并通过一个 str 字符串接收数据,将数据传入新对象,在添加每一项之前都输出一句提示信息,接收完数据后将对象增加进集合;

        ( 提示信息样式可凭个人喜欢更改

 3.7

        为保证 id 的唯一性,在输入员工 id 后使用 foreach 进行对集合的遍历判断,如果存在该 id 则输出提示信息并返回,反之则继续运行;

 3.8

         update 方法首先输出一条提示信息提示输入 id ;

        使用 str 字符串接收输入数据;

        定义一个整型变量 x 初值为 -1 ,用于存放员工在集合内的索引值;

        通过 foreach 遍历整个集合寻找是否有所寻找的员工 id ,如果找到了将索引值传入;

        通过判断 x 内存放的值是否被改变确定是否有这个 id ,如果没有此 id 输出提示并返回,反之则继续;

3.9

        后续跟 insert 方法类似,区别是利用 get( 索引 ).set( 所修改的值 );

 4.0

        最后 remove 方法跟 update 一致,先确定是否有所查找的员工 id ;

        如果有则使用集合的 remove 方法进行删除;

        删除成功后输出提示并返回;

四、代码分享

4.1 Staff 类

package com.caterpillar;

public class Staff {

	    private String id;
	    private String name;
	    private int age;
	    private String address;

	    public Staff() {
	    }

	    public Staff(String id, String name, int age, String address) {
	        this.id = id;
	        this.name = name;
	        this.age = age;
	        this.address = address;
	    }

	    public String getId() {
	        return id;
	    }

	    public void setId(String 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 getAddress() {
	        return address;
	    }

	    public void setAddress(String address) {
	        this.address = address;
	    }
}

4.2 StaffManagement 类

package com.caterpillar;

	import java.util.ArrayList;
	import java.util.Scanner;
	
public class StaffManagement {

	    static Scanner sc = new Scanner( System.in );
	    static int n;
	    static ArrayList<Staff> staffArrayList = new ArrayList<>();
	    public static void main(String[] args) {
	        System.out.println(" -------------欢迎进入人员管理系统-------------");
	        show();
	        System.out.println("\n\t谢谢使用!!!");
	    }

	    public static void show(){
	        System.out.println("\n-\t\t1.查看所有员工;\t\t-");
	        System.out.println("-\t\t2.添加员工信息;\t\t-");
	        System.out.println("-\t\t3.修改员工信息;\t\t-");
	        System.out.println("-\t\t4.删除员工信息;\t\t-");
	        System.out.println("-\t\t5.退出管理系统;\t\t-");
	        System.out.print("\n\t请输入你要进行的操作:\t" );
	        n = sc.nextInt();
	        for ( ; n < 1 || n > 5 ; ){
	            System.out.print("\t请输入合法的数字:\t");
	            n = sc.nextInt();
	        }
	        sc.nextLine();
	        while ( true ){
	            if ( n == 1 )
	                select();

	            if ( n == 2 )
	                insert();

	            if ( n == 3 )
	                update();

	            if ( n == 4 )
	                remove();

	            if ( n == 5 )
	                break;
	            show();
	        }
	    }

	    public static void insert(){
	        Staff staff = new Staff();
	        String str;
	        System.out.print("\t请输入员工id:\n\t");
	        str = sc.nextLine();
	        for ( Staff list: staffArrayList
	        ) {
	            if ( list.getId().equals(str)){
	                System.out.println("\t已存在当前 ID ,请勿重复输入!!!");
	                return;
	            }
	        }
	        staff.setId( str );
	        System.out.print("\t请输入员工姓名:\n\t");
	        str = sc.nextLine();
	        staff.setName( str );
	        System.out.print("\t请输入员工年龄:\n\t");
	        str = sc.nextLine();
	        staff.setAge( Integer.parseInt( str ) );
	        System.out.print("\t请输入员工生源:\n\t");
	        str = sc.nextLine();
	        staff.setAddress( str );
	        staffArrayList.add( staff );
	        System.out.println("\t添加成功!!!");
	    }

	    public static void remove(){
	        System.out.print("\t请输入员工id:\n\t");
	        String str = sc.nextLine();
	        int x = -1 ;
	        for ( Staff list: staffArrayList
	        ) {
	            if ( list.getId().equals(str)){
	                x = staffArrayList.indexOf( list );
	                break;
	            }
	        }
	        if ( x == -1 ){
	            System.out.println("\t查无此人!!!");
	            return;
	        }
	        for ( Staff list: staffArrayList
	             ) {
	            if ( list.getId().equals(str)){
	                staffArrayList.remove( x );
	                System.out.println("\t删除成功!!!");
	                break;
	            }
	        }
	    }

	    public static void update(){
	        System.out.print("\t请输入员工id:\n\t");
	        String str = sc.nextLine();
	        int x = -1 ;
	        for ( Staff list: staffArrayList
	        ) {
	            if ( list.getId().equals(str)){
	                x = staffArrayList.indexOf( list );
	                break;
	            }
	        }
	        if ( x == -1 ){
	            System.out.println("\t查无此人!!!");
	            return;
	        }
	        System.out.print("\t请修改员工姓名:\n\t");
	        str = sc.nextLine();
	        staffArrayList.get( x ).setName( str );
	        System.out.print("\t请修改员工年龄:\n\t");
	        str = sc.nextLine();
	        staffArrayList.get( x ).setAge( Integer.parseInt( str ) );
	        System.out.print("\t请修改员工生源:\n\t");
	        str = sc.nextLine();
	        staffArrayList.get( x ).setAddress( str );
	        System.out.println("\t修改成功!!!");
	    }

	    public static void select(){
	        if ( staffArrayList.size() == 0 ){
	            System.out.print("\t表内无信息,请添加信息后再查询!!!(输入 1 ,继续使用,其他则自动关闭系统 )\n\t");
	            int temp = sc.nextInt();
	            if ( temp != 1 ){
	                System.out.println("\n\t谢谢使用!!!");
	                System.exit(0);
	            }
	            return;
	        }
	        System.out.printf("\n%5s\t\t%5s\t\t%5s\t\t%5s","id","姓名","年龄","生源");
	        for ( Staff list:
	                staffArrayList
	        ) {
	            System.out.printf("\n %5s\t\t  %5s\t\t%5d岁\t\t %5s\n",list.getId(),list.getName(),list.getAge(),list.getAddress());
	        }
	    }
}

  • 28
    点赞
  • 195
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jc_caterpillar

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值