控制台操作员工管理系统

1、创建实体类

public class Emp {

	private int id; // 工号
	private String name;// 姓名
	private String sex;//  年龄
	private String month; // 生日
	// 有参无参构造方法
	public Emp() {
		super();
		// TODO Auto-generated constructor stub
	}
	public Emp(int id, String name, String sex, String month) {
		super();
		this.id = id;
		this.name = name;
		this.sex = sex;
		this.month = month;
	}
	// toString方法
	@Override
	public String toString() {
		return "工号:" + id + ", 姓名:" + name + ", 性别:" + sex + ", 出生年月:"
				+ month + "";
	}
	// 创建get和set方法
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	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 String getMonth() {
		return month;
	}
	public void setMonth(String month) {
		this.month = month;
	}
}

2、在main方法中进行实现

public static void main(String[] args) {
		// TODO Auto-generated method stub
        // 创建ArrayList集合存储数据
		ArrayList<Emp> list = new ArrayList<Emp>();
		list.add(new Emp(25,"张三","男","1999-2-14"));
		list.add(new Emp(20,"王五","男","1999-2-14"));
		
	    // 创建Scanner对象 用于接收用户输入
		Scanner sc = new Scanner(System.in);
		// 员工管理程序介绍
		System.out.println("欢迎使用YSD员工管理程序");
		System.out.println("0:退出 1:显示所有 2:添加 3:修改 4:删除 5:查询 6:按工号排序输出");
		// 声明整数 n 用来接收用户输入的数字
		int n ;
		// 用于判断用户如果输入0就退出循环
		do {
			n = sc.nextInt();
			// 判断用户输入的数字 来进行操作
			switch (n) {
			case 0:
				System.out.println("退出");
				break;
			case 1:
				System.out.println("显示所有员工");
				for (int i = 0; i <list.size(); i++) {
					System.out.println(list.get(i));
				}
				break;
			case 2:
				System.out.println("添加");
				System.out.println("请输入新员工号");
				int ygh = sc.nextInt();
				System.out.println("请输入新员工姓名");
				String xm = sc.next();
				System.out.println("请输入新员工性别");
				String xb = sc.next();
				System.out.println("请输入新员工生日");
				String sr = sc.next();
				list.add(new Emp(ygh,xm,xb,sr));
				for (int i = 0; i < list.size(); i++) {
					System.out.println(list.get(i));
				}
				break;
			case 3:
				System.out.println("请输入修改的编号");
				int d = sc.nextInt();
				//根据用户输入的编号d去找list中数据对应的下标
				for (int i = 0; i < list.size(); i++) {//获取数组中每条数据
					if (list.get(i).getId()==d) {//获取数据中的Emp对象编号
						//获取用户要修改的数据
						System.out.println("请输入修改后的编号");
						int ygh1 = sc.nextInt();
						System.out.println("请输入修改后的姓名");
						String xm1 = sc.next();
						System.out.println("请输入修改后的性别");
						String xb1 = sc.next();
						System.out.println("请输入修改后的生日");
						String sr1 = sc.next();
						//i代表的是找到list中对应的员工数据的下标
						Emp aEmp = list.get(i);//利用了存储数据的时候值地址的引用
						aEmp.setId(ygh1);
						aEmp.setName(xm1);
						aEmp.setSex(xb1);
						aEmp.setMonth(sr1);
						System.out.println("修改成功");
						break;//代表 已经修改完成  循环结束掉
					}else {
						System.out.println("木有找到相应的编号");
					}
				}
				
				break;
			case 4:
				System.out.println("输入你要删除的编号");
				int b =sc.nextInt();
				for (int i = 0; i < list.size(); i++) {
					if (list.get(i).getId()==b) {
						list.remove(i);
						System.out.println("删除成功");
						break;
					}
				}
				break;
			case 5:
				System.out.println("根据姓名查询");
				String c = sc.next();
				for (int i = 0; i < list.size(); i++) {
					if (list.get(i).getName().equals(c)) {
						System.out.println(list.get(i));
					}
				}
				break;
			case 6:
				System.out.println("根据工号排序");
				
				for (int i = 0; i < list.size(); i++) {
					for (int j = 0; j < list.size()-1-i; j++) {
						if (list.get(j).getId()>list.get(j+1).getId()) {
							Emp m = list.get(j);
							list.set(j,list.get(j+1));
							list.set(j+1,m);							
						}
					}
					}
				for (int i = 0; i < list.size(); i++) {
					System.out.println(list.get(i));
				}
				
				break;
            default:
				break;
			}
		} while (n!=0);
		System.out.println("退出成功");
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值