测试类代码
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;
}
}
成品