面向对象--员工管理系统(输入信息修正)

续前文面向对象–员工管理系统基础实现

https://blog.csdn.net/qq_43804919/article/details/120969915

输入操作符,只接受指定类型,如果不是,提醒用户且重新输入直到符合要求!

如果不了解异常,可以看我的博客《java异常处理机制》--https://blog.csdn.net/qq_43804919/article/details/120974801https://blog.csdn.net/qq_43804919/article/details/120974801
利用try{
//可能出错的代码
}catch(Exception e){
//异常提示
}
外围套上while(true){

}
直到满足条件才break;

对前员工管理系统的部分修改

主函数

public static void main(String[] args) {

        List employee = new ArrayList();// 存储员工

        
           
            int choice = 0;
           while (true) { 
            System.out.println("************************************************");
            System.out.println("* 1.添加 2.修改 3.查询 4.删除 5.排名 6.部门管理 7.退出 *");
            System.out.println("************************************************");
            try {
             Scanner scanner = new Scanner(System.in);//必须在此声明,不然出错
            
             System.out.println("请选择您要进行的操作:");
             choice = scanner.nextInt();
            if (choice==1) {// 添加
                add(scanner, employee);
            } else if (choice==2) {// 修改
                edit(scanner, employee);
            } else if (choice==3) {// 查询
                find(scanner, employee);
            } else if (choice==4) {
                delete(scanner, employee);
            } else if (choice==5) {
                sort(employee);
            } else if (choice==6) {
                departmentmannger(employee);
            }
            else if (choice == 7) {
                // 退出
                System.out.println("感谢使用本系统");
                break;
            }
            }catch(Exception e) {
        	 System.out.println("请输入正确的操作符!");
            }
        }
    }

departmentmannger部分

private static void departmentmannger(List employee) {
    	
		// TODO 自动生成的方法存根
		while(true) {
		    try {
			Scanner scanner = new Scanner(System.in);
			System.out.println("1.部门查询 2.部门修改 3.返回上层");
			System.out.println("请输入操作:");
			int choice = scanner.nextInt();
			if(choice == 1) {
			findment(employee);
			}else if(choice == 2) {
				editment(employee);
			}else if(choice == 3) {
				break;
			}
			break;
		    }catch(Exception e) {
			System.out.println("请输入正确的操作符!");
		    }
		}
	}

editment部分

	private static void editment(List employee) {
		// TODO 自动生成的方法存根
		while(true) {
		    try {
			Scanner sc = new Scanner(System.in);
			System.out.println("1.修改部门号2.修改部门名 3.返回上层");
			System.out.println("请输入操作:");
			int flag = 0;
			int choice = sc.nextInt();
			
			
			if(choice == 1) {
			int count = employee.size();
			System.out.println("输入查找部门号:");
			int id = sc.nextInt();
			for(int i = 0;i<count;i++) {
				Employee e = (Employee)employee.get(i);
				if(e.getDid() == id) {
					System.out.println("输入部门号:");
					int eid = sc.nextInt();
					e.setDid(eid);
					printEmployeeInfo(e);
					flag++;
				}
			}
			if(flag == 0) {
				System.out.println("没有此部门号!");
			}else {
				System.out.println("修改成功!");
			}
			break;
			
			}else if(choice == 2) {
				int count = employee.size();
				System.out.println("输入查找部门名:");
				String name= sc.next();
				for(int i = 0;i<count;i++) {
					Employee e = (Employee)employee.get(i);
					if(e.getDName().equals(name)) {
						System.out.println("输入部门名:");
						String ename = sc.next();
						e.setDName(ename);
						printEmployeeInfo(e);
						flag++;
					}
				}
				if(flag == 0) {
					System.out.println("没有此部门号!");
				}else {
					System.out.println("修改成功!");
				}
				break;
			}else if(choice ==3) {
				break;
			}
			break;
		    }catch(Exception e) {
			System.out.println("请输入正确操作符!");
		    }
		}
	}

findment部分

private static void findment(List employee) {
		// TODO 自动生成的方法存根
		while(true) {
		    try {
		Scanner sc = new Scanner(System.in);
		System.out.println("1.按部门号查找 2.按部门名查找 3.返回上层");
		System.out.println("请输入操作:");
		
		int choice = sc.nextInt();
		int count = employee.size();
		
		
		if(choice == 1) {
			int flag = 0;
			System.out.println("输入部门号:");
			int id =sc.nextInt();
			for(int i=0;i<count;i++) {
				Employee e = (Employee)employee.get(i);
				if(e.getDid()==id) {
					printEmployeeInfo(e);
					flag++;
				}
			}
			if(flag == 0) {
				System.out.println("没有找到此部门!");
			}else {
				System.out.println(id+"部门共有"+flag+"人");
			}
			break;
		}else if(choice == 2) {
			int flag = 0;
			System.out.println("输入部门名:");
			String name =sc.next();
			for(int i=0;i<count;i++) {
				Employee e = (Employee)employee.get(i);
				if(e.getDName().equals(name)) {
					printEmployeeInfo(e);
					flag++;
				}
			}
			if(flag == 0) {
				System.out.println("没有找到此部门!");
			}else {
				System.out.println(name+"部门共有"+flag+"人");
			}
			break;
		}else if(choice == 3) {
			break;
		}
		break;
	}catch(Exception e) {
	    System.out.println("请输入正确操作符!");
	}
	}
	}

其余部分

请参照上一篇本人的博客《面向对象--员工管理系统(基础实现)》,对比上面的修改方式修改即可。

测试截图

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

A little sea pig

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

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

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

打赏作者

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

抵扣说明:

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

余额充值