Java实现部门员工管理

本文实例为大家分享了Java实现部门员工管理的具体代码,供大家参考,具体内容如下

项目作业:部门员工管理

题目要求:

某公司要开发内部的 “办公信息化管理系统”,请使用面向对象的思想描述以下员工信息。

程序运行参考效果图如下:

任务描述

一、程序整体要求

划分功能模块,根据题目要求设置不同的包和类,在类中实现相应功能的管理。

类的标识要清楚易懂,代码结构要层次分明,代码编辑思路要清晰、整洁。

要求Java代码书写、命名符合规范,属性所属数据类型要准确合理,在代码中添加必要的注释,程序运行效果与提供的页面效果图、结构保持一致,信息间分隔符“=”号数量不做统一要求,文字大小、颜色也不做统一要求,将作业项目形成压缩文件并提交。

二、思路分析

由场景和运行效果,可以分析出项目中可以抽取如下类(要求编码时注意面向对象思想及封装特性的应用):

1、部门类:

类型描述:能够描述部门编号、部门名称、员工数组、统计部门中的员工个数

要求:设定方法统计该部门员工个数

提示:部门类的属性有四个,分别是部门编号,部门名称,员工数组 和 统计变量 ,具体是市场部还是人事部,是通过部门类的对象来表示的,如果是市场部的对象,那么添加并统计的就是市场部的人数,同样如果是人事部的对象,添加并统计的就是人事部的人数。

2、职务类:

类型描述:能够描述职务编号、职务名称。

3、员工类:

类型描述:能够描述员工姓名、工号、年龄、性别、所属部门、职务信息

要求:

1、 设定方法限定年龄只能是18--65之间,反之则设置默认为18岁

2、 设定方法限定性别只能是“男”或者“女”,反之则设置默认为"男"(使用字符串的equals()方法)

3、 设定方法,实现员工自我介绍信息,将员工信息作为字符串返回

4、测试类:

类型描述:测试程序,并参照效果图输出结果

注意:可以在属性上添加适当的信息验证,提高信息的安全性

评分标准:

1、规范【10分】

每个类都封装在自己独立的 ".java"文件中;

文件、class、成员变量命名规范;

代码结构要层次分明;

Java代码规范及添加适量注释。

2、程序整体运行效果【10分】

程序正常运行效果,且满足效果图要求。信息间分隔符“=”号数量不做统一要求

3、部门类【22分】

能够描述部门编号、部门名称、获取所有该部门员工信息;设定方法,完成统计该部门员工个数的功能

4、职务类【6分】

能够描述职务编号、职务名称

5、员工类【34分】

能够描述员工姓名、工号、年龄、性别、所属部门、职务信息;

设定方法来约束年龄的范围;

设定方法来限定性别的选择;

设定方法,实现员工自我介绍信息,将员工信息作为字符串返回

6、测试类【18分】

测试程序,将题目中的员工信息传入到程序中,参照效果图输出结果

package com.staff;
 
//部门类
public class Department{
  private String DNumber;    //部门编号
  private String DName;      //部门名称
  private Staff[] Staff=new Staff[10];  //定义一个Staff类的员工数组
  private int StaffNum;      //员工人数
  public void setDNumber(String DNumber)
  {
      this.DNumber=DNumber;
  }
  public String getNumb0er()
  {
      return DNumber;
  }
  public void setDName(String DName)
  {
      this.DName=DName;
 
  }
  public String getDName(){
      return DName;
  }
  public  void setStaff(Staff Staff[])
  {
      this.Staff=Staff;
 
  }
  public Staff[] getStaff()
  {
      return Staff;
 
  }
  public void setStaffNum(int StaffNum)
  {
      this.StaffNum=StaffNum;
 
  }
  public int getStaffNum()
  {
      return StaffNum;
 
  }
  //定义构造方法,获得DNumber和DName的值
  public Department(String DNumber,String DName){
      this.setDNumber(DNumber);
      this.setDName(DName);
  }
  /*将员工保存到数组中*/
  public void togetherStaff(Staff Sta){
      for (int i=0;i<this.getStaff().length;i++){
          if(this.getStaff()[i]==null){
              this.getStaff()[i]=Sta;
              this.StaffNum=i+1;
              return;
          }
      }
  }
}
package com.staff;
 
//职务类
public class Office{
  private String ONumber;   //职务编号
  private String OName;     //职务名称
  public void setONumber(String ONumber)
  {
      this.ONumber=ONumber;
 
  }
  public String getONumber(){
 
      return ONumber;
  }
  public void setOName(String OName){
 
      this.OName=OName;
  }
  public String getOName()
  {
      return OName;
 
  }
  //定义构造方法,获得ONumber和OName的值
  public Office(String ONumber,String OName){
      this.setONumber(ONumber);
      this.setOName(OName);
  }
}
package com.staff;
 
//员工类
public class Staff{
  private String Name;     //员工姓名
  private String Number;   //员工工号
  private int Age;         //员工年龄
  private String Sex;      //员工性别
  private Department department;  //员工所属部门
  private Office officeInfo;      //员工职务信息
 
  public void setName(String name){
 
      this.Name=name;
  }
  public String getName(){
 
      return Name;
  }
  public void setNumber(String Number){
 
      this.Number=Number;
  }
  public String getNumber(){
 
      return Number;
  }
  public void setAge(int Age){
      if (Age<18||Age>65){
          System.out.println("年龄只能在18~65岁之间,如果不在,则默认为18岁");
          this.Age=18;
      }
      else
          this.Age=Age;
  }
  public int getAge(){
 
      return Age;
  }
  public void setSex(String Sex){
      if(!Sex.equals("男") && !Sex.equals("女")){
          System.out.println("输入性别有误,默认值为男");
          this.Sex="男";
      }
      else
          this.Sex=Sex;
  }
  public String getSex(){
 
      return Sex;
  }
 
  public void setDepartment(Department department) {
 
      this.department=department;
  }
  public Department getDepartment(){
 
      return department;
  }
 
  public void setOfficeInfo(Office officeInfo) {
 
      this.officeInfo = officeInfo;
  }
  public Office getOfficeInfo(){
 
      return officeInfo;
  }
  //定义构造方法,分别获得员工姓名,员工工号,员工性别,员工姓名,员工所属部门,员工职务信息
  public Staff(String Name,String Number,String Sex,int Age,Department department,Office officeInfo){
      this.setName(Name);
      this.setNumber(Number);
      this.setSex(Sex);
      this.setAge(Age);
      this.setDepartment(department);
      this.setOfficeInfo(officeInfo);
  }
  //定义普通方法,返回员工所有基本信息
  public String staffIntroduction(){
      return "姓名:"+ this.getName()+"\n工号:"+ this.getNumber()+"\n年龄:"+ this.getAge()+"\n性别:"+ this.getSex()+"\n职务:"+ this.getDepartment().getDName()+ this.getOfficeInfo().getOName();
  }
}
package com.staff;
 
//员工类
public class Staff{
  private String Name;     //员工姓名
  private String Number;   //员工工号
  private int Age;         //员工年龄
  private String Sex;      //员工性别
  private Department department;  //员工所属部门
  private Office officeInfo;      //员工职务信息
 
  public void setName(String name){
 
      this.Name=name;
  }
  public String getName(){
 
      return Name;
  }
  public void setNumber(String Number){
 
      this.Number=Number;
  }
  public String getNumber(){
 
      return Number;
  }
  public void setAge(int Age){
      if (Age<18||Age>65){
          System.out.println("年龄只能在18~65岁之间,如果不在,则默认为18岁");
          this.Age=18;
      }
      else
          this.Age=Age;
  }
  public int getAge(){
 
      return Age;
  }
  public void setSex(String Sex){
      if(!Sex.equals("男") && !Sex.equals("女")){
          System.out.println("输入性别有误,默认值为男");
          this.Sex="男";
      }
      else
          this.Sex=Sex;
  }
  public String getSex(){
 
      return Sex;
  }
 
  public void setDepartment(Department department) {
 
      this.department=department;
  }
  public Department getDepartment(){
 
      return department;
  }
 
  public void setOfficeInfo(Office officeInfo) {
 
      this.officeInfo = officeInfo;
  }
  public Office getOfficeInfo(){
 
      return officeInfo;
  }
  //定义构造方法,分别获得员工姓名,员工工号,员工性别,员工姓名,员工所属部门,员工职务信息
  public Staff(String Name,String Number,String Sex,int Age,Department department,Office officeInfo){
      this.setName(Name);
      this.setNumber(Number);
      this.setSex(Sex);
      this.setAge(Age);
      this.setDepartment(department);
      this.setOfficeInfo(officeInfo);
  }
  //定义普通方法,返回员工所有基本信息
  public String staffIntroduction(){
      return "姓名:"+ this.getName()+"\n工号:"+ this.getNumber()+"\n年龄:"+ this.getAge()+"\n性别:"+ this.getSex()+"\n职务:"+ this.getDepartment().getDName()+ this.getOfficeInfo().getOName();
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Java实战员工绩效管理系统的实现流程

    基于SSM+Mysql+Maven+HTML实现的员工绩效管理系统.该系统只有后台页面,后台前端框架使用的是layui官网推荐后台界面. 角色分为管理员和员工 管理员功能有:员工管理.职位管理.部门管理.岗位管理.工资管理.工龄管理.考勤管理.工资项管理等. 员工功能有:考勤管理.工资管理.个人信息. 运行环境:jdk1.8.tomcat7.0\8.5.maven3.5\3.6.eclipse.mysql5.x. 后台员工管理控制器代码: /** * 后台员工管理控制器 * @author Ad

  • Java实现员工信息管理系统

    在Java SE中,对IO流与集合的操作在应用中比较重要.接下来,我以一个小型项目的形式,演示IO流.集合等知识点在实践中的运用. 该项目名称为“员工信息管理系统”(或“员工收录系统”),主要是通过输入员工的id.姓名信息,实现简单的增删改查功能. 该项目主要在DOS窗口的控制台或者Eclipse的控制台上进行操作.操作界面如下: 该项目的文件结构如下: Step 1: 入口类SystemMain的代码为: package empsystem; import java.util.Scanner;

  • Java 实战范例之员工管理系统的实现

    一.项目简述 本系统功能包括:分为前端翻后端部分,包括用户,区分晋通用户以及誉里员用户,包括首页展示,部门管理,人事管理,员工管理三个模块等等. 二.项目运行 环境配置: Jdkl . 8 + Tomcats . 5 + Mysql + HBuilderX ( Webstorm 也行)+ Eclispe ( IntelliJ IDEA,Eclispe , MyEclispe , Sts 都支持). 项目技术: html + css +js + vue + v 一 charts + electro

  • Java实现员工管理系统

    本文实例为大家分享了Java实现员工管理系统的具体代码,供大家参考,具体内容如下 本系统主要练习到的相关内容: 1. 流程控制语句 2. 类.对象 3. 封装.继承.多态 4. 方法的重载.重写 5. 访问修饰符 6. static 需求说明: 员工信息的基本情况 ---------普通员工---------– 属性:员工编号.员工姓名.员工职务.请假天数.基本工资 普通员工工资: 在基本工资的基础上增加10%的工作餐,50%的岗位补助,200元住房补助 基本工资+基本工资*0.1+基本工资*0

  • 员工管理系统java版

    员工管理系统要求如下: 通过面向对象的编程思想,实现员工信息的增删改查,存储结构为数组.限定数组长度为100. 实现页面: 添加员工 查找员工 修改员工 删除员工.退出 工程目录结构: 1.Employee基类 /** * @author 李广亮 * */ public class Employee { /** * 成员属性:ID.姓名.职务.请假天数.基本工资 */ private String ID; private String name; private String job; priv

  • Java精品项目瑞吉外卖之员工信息管理篇

    目录 一. 员工信息分页查询 1. 需求分析 2. 代码开发 二. 启用或禁用员工状态 1 需求分析 2 代码开发 前端核心代码 后端核心代码 代码修复 上一篇: 瑞吉外卖项目:新增员工 一. 员工信息分页查询 1. 需求分析 当系统中的用户越来越多页面展示不完整,我们需要通过实现分页的方式去展示员工的信息: 2. 代码开发 在开发代码之前,需要理清楚程序的执行过程与业务逻辑: 页面发送Ajax请求,将分页查询参数(page,pagesize,name)提交到服务端服务端 Controller接

  • Java实现企业员工管理系统

    基于Java的简单的企业员工管理系统,供大家参考,具体内容如下 首先创建了一个员工类 定义员工应有的属性:工号.姓名.性别.职位.年龄.工资.部门 /** 员工属性 */     private int sno;//工号 private String name;//姓名 private String sex;//性别 private String job;//职位 private int age;//年龄 private int money;//工资 private String section

  • Java实现简单员工管理系统

    本文实例为大家分享了Java实现简单员工管理系统的具体代码,供大家参考,具体内容如下 代码如下: import java.util.*; public class Demo {     public static void main(String[] args) {         EmpManage em = new EmpManage();         while (true) {             System.out.println("==================员工管

  • java实现员工工资管理系统

    本文实例为大家分享了java实现员工工资管理系统的具体代码,供大家参考,具体内容如下 一.题目要求 设计员工工资管理系统,实现以下功能: (1)输入5名员工姓名.工号.月工资:(2)统计每人的年收入及收入最高和最低的员工,计算他们的平均工资:(3)按月工资高低降序排序:(4)统计高于平均工资和低于平均工资的员工:(5)输入工号名称查询员工的姓名和月工资. 二.源代码 import java.util.Scanner; import java.io.BufferedReader; public c

  • Java实现部门员工管理

    本文实例为大家分享了Java实现部门员工管理的具体代码,供大家参考,具体内容如下 项目作业:部门员工管理 题目要求: 某公司要开发内部的 “办公信息化管理系统”,请使用面向对象的思想描述以下员工信息. 程序运行参考效果图如下: 任务描述 一.程序整体要求 划分功能模块,根据题目要求设置不同的包和类,在类中实现相应功能的管理. 类的标识要清楚易懂,代码结构要层次分明,代码编辑思路要清晰.整洁. 要求Java代码书写.命名符合规范,属性所属数据类型要准确合理,在代码中添加必要的注释,程序运行效果与提

  • jquery实现员工管理注册页面

    本文实例为大家分享了jquery实现员工管理注册页面的具体代码,供大家参考,具体内容如下 代码展示 HTML页面代码 <body> <div class="container"> <h2 class="text-center">用户注册</h2> <form action="Baidu.html" method="post" class="form-horizon

  • JVM内存管理之JAVA语言的内存管理详解

    引言 内存管理一直是JAVA语言自豪与骄傲的资本,它让JAVA程序员基本上可以彻底忽略与内存管理相关的细节,只专注于业务逻辑.不过世界上不存在十全十美的好事,在带来了便利的同时,也因此引入了很多令人抓狂的内存溢出和泄露的问题. 可怕的事情还不只如此,有些使用其它语言开发的程序员,给JAVA程序员扣上了一个"不懂内存"的帽子,这着实有点让人难以接受.毕竟JAVA当中没有malloc和delete.没有析构函数.没有指针,刚开始接触JAVA的程序员们又怎么可能接触内存这一部分呢,更何况有不

  • Java Swing组件布局管理器之FlowLayout(流式布局)入门教程

    本文实例讲述了Java Swing组件布局管理器之FlowLayout(流式布局).分享给大家供大家参考,具体如下: FlowLayout应该是Swing布局管理器学习中最简单.最基础的一个.所谓流式,就是内部控件像水流一样,从前到后按顺序水平排列,直到达到容器的宽度时跳转到第二行.既然是水平排列,那么就存在三种基本的对齐方式:居中对齐(CENTER ).左对齐(LEFT )和右对齐(RIGHT ).然而,FlowLayout还提供两种对齐方式:LEADING,表示控件与容器方向开始边对应:TR

  • 如何实现java递归 处理权限管理菜单树或分类

    这篇文章主要介绍了如何实现java递归 处理权限管理菜单树或分类,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.数据库表设计 2.实体类设计 package com.ieou.capsule.dto.SystemPermissions; import java.util.List; /** * 功能菜单类 */ public class SystemPermissionsTree { private String functionCode;

  • 使用java连接Redis,Maven管理操作

    pom配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0

  • Java如何通过Maven管理项目依赖

    项目的依赖 Java最大的一个优势之一应该是整个生态中无数的框架和API,我们创建实际的项目不可避免的都需要用到这些框架和API,而它们通常都是以JAR包的形式提供.我们之前在编译项目的时候,需要在classpath上存放依赖的JAR包.而且这些外部的JAR包还会有其他依赖.我们需要递归地一个个去下载所有这些外部依赖,并且要确保下载的版本都是正确的,当项目越来越复杂的时候,这是极其麻烦的事情,比如碰到JAR Hell的问题. Maven现在来拯救我们了,Maven可以自动帮我们做依赖管理,我们需

  • Java实现宠物商店管理

    本文实例为大家分享了Java实现宠物商店管理的具体代码,供大家参考,具体内容如下 第一种实现方式:抽象类和对象数组 public abstract class AbstractPet //定义宠物模板 { private String name; //名称 private String color; //颜色 private int age; //年龄 public AbstractPet(){} public AbstractPet(String name, String color, int

随机推荐