实践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;
}
}
}