实践3 类与对象
实践3.4

修改Menu类,增加显示普通员工、经理、管理员对应的功能菜单的方法。

package com.dh.hrmanager.util;

import java.util.Scanner;

public class Menu {
	/**
	 * 返回登陆菜单
	 */
	public void showLoginMenu() {
		System.out.println("\n\n\t\t欢迎进入企业人力资源管理系统\n\n");
		System.out.println("**********************************************************\n");
		System.out.println("\t\t\t1、登陆系统\n");
		System.out.println("\t\t\t2、注册系统\n");
		System.out.println("\t\t\t3、退出系统\n");
		System.out.println("**********************************************************\n");
		System.out.println("请输入菜单选项数字:");
	}
	Scanner input = new Scanner(System.in);
	
	private void returnLoginMenu(Scanner input) {
		boolean flag = true;
		do{
			String num = input.next();
			if(num.toUpperCase().equals("R")){ 
				flag = false;
				showLoginMenu();
				break;
			}
			else{
				System.out.println("具体功能将在后面实验篇实现,现在请输入r/R返回登陆菜单:");
			}
		}while(flag);
	}
	/**
	 * 普通员工菜单
	 */
	public void showStaffMenu(){
		System.out.println("人力资源管理系统=>普通员工");
		System.out.println("**********************************************************\n");
		System.out.println("\t\t\t1、汇报工作\n");
		System.out.println("\t\t\t2、查看个人信息\n");
		System.out.println("\t\t\t3、修改密码\n");
		System.out.println("\t\t\t4、查看测评\n");
		System.out.println("\t\t\t5、工资范畴\n");
		System.out.println("\t\t\t6、今日工作\n");
		System.out.println("\t\t\t7、在线工作交流\n");
		System.out.println("**********************************************************\n");
		System.out.println("请输入菜单项数字或者输入r/R返回上一菜单:");
		returnLoginMenu(input);
	}
	/**
	 * 经理主菜单
	 */
	public void showManangerMenu(){
		System.out.println("人力资源管理系统=>部门经理");
	System.out.println("**********************************************************\n");
		System.out.println("\t\t\t1、查看工作汇报\n");
		System.out.println("\t\t\t2、考评员工\n");
		System.out.println("\t\t\t3、查看个人信息\n");
		System.out.println("\t\t\t4、修改密码\n");
		System.out.println("\t\t\t5、工资范畴\n");
		System.out.println("\t\t\t6、今日工作\n");
		System.out.println("\t\t\t7、在线工作交流\n");
		System.out.println("**********************************************************\n");
		System.out.println("请输入菜单项数字或者输入R/r返回上一菜单:");
		returnLoginMenu(input);
	}
	/**
	 * 显示管理员主菜单
	 */
	public void showAdminMenu() {
		System.out.println("人力资源管理系统=>管理员");
		System.out.println("**********************************************************\n");
		System.out.println("\t\t\t1、查看员工信息\n");
		System.out.println("\t\t\t2、修改员工角色\n");
		System.out.println("\t\t\t3、查看个人信息\n");
		System.out.println("\t\t\t4、修改密码\n");
		System.out.println("\t\t\t5、工资范畴\n");
		System.out.println("\t\t\t6、今日工作\n");
	System.out.println("**********************************************************\n");
		System.out.println("请输入菜单项数字或者输入R/r返回上一菜单");
		returnLoginMenu(input);
	}
}

实践3.5
修改测试类StartHr,实现如下功能:
(1)普通员工登陆,跳转到普通员工功能菜单。
(2)经理登陆,跳转到经理功能菜单。
(3)管理员登陆,跳转到管理员功能菜单。

package com.dh.hrmanager.util;

import java.util.Scanner;

import com.dh.hrmanager.entity.Employee;

public class StartHr {
	public static void main(String[] args) {
		//角色值1表示普通员工角色,2表示经理角色,3表示管理员角色
		//部门值1表示市场部,2表示开发部,3表示信息部
		//实例化普通员工
		Employee staff = new Employee(1,"DH001","staff","staff",2,1,3000.5);
		//实例化部门经理
		Employee manager = new Employee(2,"DH002","Manager","Manager",2,2,6000.5);
		//实例化管理员
		Employee admin = new Employee(3,"DH003","Admin","Admin",2,3,4000.5);
		//实例化菜单
		Menu menu = new Menu();
		//显示登陆主菜单
		menu.showLoginMenu();
		//循环标志位
		boolean flag = true;
		Scanner input = new Scanner(System.in);
		while(flag) {
			int choice = input.nextInt();
			//根据输入不同选项进行不同功能操作
			switch (choice) {
			case 1:
				System.out.println("请输入用户名:");
				String userName = input.next();
				System.out.println("请输入密码");
				String password=input.next();
				//如果是普通员工
				if (userName.equals(staff.getUserName())&&
					password.equals(staff.getPassword()))
					//显示普通员工功能菜单
					menu.showStaffMenu();
				//如果是经理
				else if(userName.equals(manager.getUserName())&&
						password.equals(manager.getPassword()))
						//显示经理功能菜单
						menu.showManangerMenu();
				//如果是管理员
				else if (userName.equals(admin.getUserName())&&
						password.equals(admin.getPassword()))
						//显示管理员功能菜单
						menu.showAdminMenu();
				else {
					System.out.println("用户名或密码不正确,请重新输入选项数字:");
				}
				break;
			case 2:
				System.out.println("本功能将在后面实现篇实现,现在请选择其他选项");
				menu.showLoginMenu();
				break;
			case 3:
				flag = false;
				System.out.println("您退出了系统!");
				break;
			default:
				System.out.println("输入选项编号不正确,请重新输入数字:");
			}
			if (!flag)
				break;
			}
		}
	}