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

}

}

}

java se程序设计课后答案,JAVA SE程序设计及实践相关推荐

  1. python3程序设计课后答案-Python 3 程序设计学习指导与习题解答--详细介绍

    第1章 Python概述 1 1.1 本章主要内容 1 1.2 典型例题分析 3 1.3 问题与思考 6 1.4 习题与解答 7 第2章 Python基础知识 10 2.1 本章主要内容 10 2.2 ...

  2. JavaWeb程序设计课后答案

    JavaWeb程序设计课后答案 第一章 [答案] 1.HTML:HTML是英文Hyper Text Markup Language的缩写,中文译为"超文本标记语言",其主要作用是通 ...

  3. java语言程序设计郑莉课后答案_java语言程序设计郑莉第九篇课后习题答案.docx...

    java语言程序设计郑莉第九篇课后习题答案.docx 还剩 36页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: ...

  4. android应用程序设计张思民课后答案,Java语言程序设计习题答案(清华大学出版杜)张思民版...

    Java语言程序设计习题答案(清华大学出版杜)张思民版 更新时间:2017/2/6 12:39:00  浏览量:568  手机版 第1章 Java概述 [1]为什么说Java的运行与计算机硬件平台无关 ...

  5. java语言程序设计第二版课后答案吴倩_java语言程序设计课后答案 郞波 第二版 清华大学出版社...

    展开全部 我有 Java面向对象程序设计 清华大学出版社 (编著 耿祥义 张跃平) 习题解答 建议e69da5e887aa62616964757a686964616f31333330326632使用文 ...

  6. python程序设计机械工业出版社课后答案-Python语言程序设计

    图书简介 本书以问题驱动的方式对Python程序设计进行综合介绍.全书共分三个部分,首先介绍基本程序设计技术以及数据类型.变量.常量.简单函数等内容,随后利用抽象.封装和多态性来了解面向对象程序设计, ...

  7. 低频超声检测c语言程序设计教程课后答案,c语言程序设计课后第九章答案

    c语言程序设计课后第九章答案 更多相关问题 [单选] 铝合金热处理质量可以通过测定下述哪个数据来判断?() [单选] 配置磁悬液的正确方法应当是(). [问答题,简答题] 为什么对无损检测人员要有技术 ...

  8. python程序设计课后答案第四章_Python程序设计课后习题答案-第一单元

    <Python程序设计课后习题答案-第一单元>由会员分享,可在线阅读,更多相关<Python程序设计课后习题答案-第一单元(3页珍藏版)>请在人人文库网上搜索. 1.习题1一. ...

  9. c语言程序设计电子书答案,C语言程序设计课后习题详细答案.doc

    C语言程序设计课后习题详细答案 <全国计算机等级考试二级教程--C语言程序设计> 习题分析与详细解答 第一章 程序设计基本概念习题分析与解答 1.1 [参考答案] EXE 1.2 [参考答 ...

最新文章

  1. python制作词云时出现figure1 figure2_用Python生成词云
  2. python运维开发之socket网络编程01
  3. Visual Event插件----查看html元素绑定的事件与方法的利器
  4. 【对讲机的那点事】450MHz模拟无线列调的工作原理(连载五)
  5. Winform开发框架中工作流模块的动态处理
  6. 计算机打印中 进纸盘2,软件、计算机和打印机接口问题-HP.PDF
  7. CIO感悟:IT人转型之“势、道、术”
  8. CCF202006-5 乔乔和牛牛逛超市【最大流】(100分题解链接)
  9. oracle 图片数据复制,Oracle如何插入图片数据?
  10. Android开发遇到的问题
  11. 配置管理系统和整体变更系统有什么区别与联系
  12. word中 两页同时并排显示 与 单页显示 之间的切换
  13. opencv Mat 16位unsigned数据显示为黑色
  14. 金蝶迷你版云服务器没有响应,金蝶迷你版登录提示云服务器异常
  15. 关于KNX/IP 网关协议报文解析以及几个注意事项
  16. 雪球网爬取数据并存入数据库
  17. 计算机类专科学校排名,2017计算机专科学校排名一览表
  18. SQL Server 教程
  19. 天玑9000+和骁龙888哪个好 天玑9000+和骁龙888对比
  20. C语言入门 -- 计算两骰子之和出现概率(2021/2/2)

热门文章

  1. 地质灾害防治条例释义的摘要
  2. 传统ELK分布式日志收集的缺点?
  3. flutter中的异步机制Future
  4. RedisTemplate在项目中的应用
  5. quill一些插件的配置 注意事项
  6. JS - JSON对象与JSON字符串相互转换的几种方法
  7. Java抓取淘宝/天猫商品详情
  8. swagger接口文档使用
  9. (JAVA)超大整数运算
  10. CentOS 7.2.1511 x64下载地址