编写一个控制台版本的员工管理系统,并使用集合跟面向对象等知识点实现增删查改功能

测试类代码

package com.bili.demo4;


import java.util.HashMap;
import java.util.Iterator;
import java.util.Scanner;
import java.util.Set;

/**
 * 测试类
 * 
 * @author admin
 *
 */

public class Demo1 {
	static Scanner sc = new Scanner(System.in); // 控制台输入
	static HashMap<String, staff> map = new HashMap<String, staff>();
	static String  a=null;										//存储数组 key 键值 
	static staff staff = new staff();
	static {
		System.out.println("****欢迎来到员工管理系统****");
	}

	/**
	 * main 方法
	 * 
	 * @param args
	 */
	public static void main(String[] args) {
		showMenu();
	}

	/**
	 * 主菜单
	 */
	private static void showMenu() {
		try {
			while (true) {
				String string[] = { "1.员工列表", "2.新增员工", "3.修改员工信息", "4.删除员工" };
				for (String s : string) {
					System.out.print(s + "\t");
				}
				System.out.println("\n" + "请输入要选择的菜单对应的编号:");
				String munber = sc.next();
				switch (munber) {
				case "1":
					showSee();
					break;
				case "2":
					showAdd();
					break;
				case "3":
					showModify();
					break;
				case "4":
					shoDelete();
					break;
				default:
					System.out.println("选择格式不正确请重新选择:");
					break;
				}

			}
		} catch (Exception e) {
			System.out.println("输入有误");
		}
	}

	/**
	 * 员工列表
	 */
	private static void showSee() {
		System.out.println("**************员工列表功能*****************");
		String arr[] = { "员工编号", "员工姓名", "员工年龄", "员工性别" };
		for (String a : arr) {
			System.out.print(a + "\t\t");
		}
		System.out.println();

		Set<String> keys = map.keySet(); // 获取所有的key值
		// 创建迭代器
		Iterator<String> iterator = keys.iterator();
		while (iterator.hasNext()) {
			String key = iterator.next();
			staff staff = map.get(key);
			System.out.print(staff.getStaffId() + "\t\t");
			System.out.print(staff.getStaffName() + "\t\t");
			System.out.print(staff.getStaffAge() + "\t\t");
			System.out.println(staff.getStaffSex());
		}
	}

	/**
	 * 新增员工功能
	 */
	private static void showAdd() {
		try {
			while (true) {
				System.out.println("**************新增员工*****************");
				System.out.println("请输入新增员工的编号:");
				a = sc.next();
				System.out.println("请输入新增员工的姓名:");
				String liName = sc.next();
				System.out.println("请输入新增员工的性别:");
				String sex = sc.next();
				System.out.println("请输入新增员工的年龄:");
				int age = sc.nextInt();
				// 通过员工编号判断员工是否已经存在
				if (map.containsKey(a)) {
					System.out.println("员工编号已经存在,请重新输入:");
					return;
				} else {
					map.put(a, new staff(a, liName, sex, age));
					System.out.println("是否继续操作:y/继续,按任意键退出系统");
					String s = sc.next();
					boolean a = s.equals("y") ? true : false;
					if (a) {
						System.out.println("继续");
						showMenu();
					} else {
						System.out.println("正在退出请稍后》》》");
						System.out.println("退出成功");
						System.exit(0);
					}
				}
			}
		} catch (Exception e) {
			System.out.println("您输入的价格有误:");
			return;
		}
	}

	/**
	 * 修改员工信息功能
	 */
	private static void showModify() {
		System.out.println("**************修改员工信息*****************");
		while (true) {
			System.out.println("请输入您要修改的原员工编号:");
			
			a = sc.next();
			// 通过员工编号判断员工是否已经存在
				if (map.containsKey(a)) {
						System.out.println("请输入您要修改后员工编号");
						String number= sc.next();
						System.out.println("请输入您要修改后员工名");
						String name = sc.next();
						System.out.println("请输入您要修改后的性别:");
						String name2 = sc.next();
						System.out.println("请输入您要修改后的年龄:");
						int money = sc.nextInt();
						map.remove(a);
						map.put(number, new staff(number, name, name2, money));
						System.out.println("修改成功******");
						break;
					} else {
						System.out.println("该员工不存在,请重新输入");
						return;
					}
		}
	}

	/**
	 * 删除员工
	 */
	private static void shoDelete() {

		System.out.println("请输入 你要删除的员工编号");
		while (true) {
			a = sc.next();
				if (map.containsKey(a)) {
					System.out.println("你确定要删除吗?y/删除,否则按任意键返回主菜单");
					String button = sc.next();
					boolean aa = button.equals("y") ? true : false;
					if (aa) {
						map.remove(a);
						System.out.println("正在删除,请稍后》》》》");
						System.out.println("已经成功删除");
					} else {
						System.out.println("正在返回主菜单》》》");
						System.out.println("已返回主菜单");
						return;
					}
				} else {
					System.out.println("该员工不存在,请重新输入");
					return;
				}
		}
	}
}

员工类代码

package com.bili.demo4;


/**
 * 员工类
 * @age admin
 *
 */


public class staff {
	private String 	staffId;												//员工ID
	private String 	staffName;									//员工姓名
	private String 	staffSex;										//性别
	private int		staffAge;										//年龄
	
	
	
	public staff() {
		super();
	}

	
	public staff(String staffId, String staffName , String staffSex,int staffAge) {
		super();
		this.staffId = staffId;
		this.staffName = staffName;
		this.staffAge = staffAge;
		this.staffSex = staffSex;
	}


	public String getStaffId() {
		return staffId;
	}
	public void setStaffId(String staffId) {
		this.staffId = staffId;
	}
	public String getStaffName() {
		return staffName;
	}
	public void setStaffName(String staffName) {
		this.staffName = staffName;
	}
	public int getStaffAge() {
		return staffAge;
	}
	public void setStaffAge(int staffAge) {
		this.staffAge = staffAge;
	}
	public String getStaffSex() {
		return staffSex;
	}
	public void setStaffSex(String staffSex) {
		this.staffSex = staffSex;
	}

	@Override
	public String toString() {
		return "staff [staffId=" + staffId + ", staffName=" + staffName + ", staffAge=" + staffAge + ", staffSex="
				+ staffSex + "]";
	}


	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((staffId == null) ? 0 : staffId.hashCode());
		return result;
	}


	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		staff other = (staff) obj;
		if (staffId == null) {
			if (other.staffId != null)
				return false;
		} else if (!staffId.equals(other.staffId))
			return false;
		return true;
	}



	
	
	
} 

成品

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值