项目作业:部门员工管理

题目要求:

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

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

任务描述

一、程序整体要求

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

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

要求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;}elsethis.Age=Age;}public int getAge(){return Age;}public void setSex(String Sex){if(!Sex.equals("男") && !Sex.equals("女")){System.out.println("输入性别有误,默认值为男");this.Sex="男";}elsethis.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;}elsethis.Age=Age;}public int getAge(){return Age;}public void setSex(String Sex){if(!Sex.equals("男") && !Sex.equals("女")){System.out.println("输入性别有误,默认值为男");this.Sex="男";}elsethis.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();}
}

Java 部门员工管理相关推荐

  1. Java语言项目作业:部门员工管理

    题目要求: 某公司要开发内部的 "办公信息化管理系统",请使用面向对象的思想描述以下员工信息. 程序运行参考效果图如下: 任务描述 一.语言和环境 实现语言 Java语言 环境要求 ...

  2. 基于java员工管理系统设计(含源文件)

    欢迎添加微信互相交流学习哦! 项目源码:https://gitee.com/oklongmm/biye 需  求  文  档 软件名称:员工管理系统 一.概述:          在人才过剩的今天,企 ...

  3. Saas经销商业务管理系统/部门管理/职位管理/员工管理/仓库管理/商品管理/客户管理/价格管理/入库管理/采购管理/销售管理/行为管理/axure高保真经销商业务后台管理系统原型/ssas后台管理

    作品介绍:Saas经销商业务管理系统/部门管理/职位管理/员工管理/仓库管理/商品管理/客户管理/价格管理/入库管理/采购管理/销售管理/行为管理/axure高保真经销商业务后台管理系统原型/ssas ...

  4. OA的部门管理和员工管理模块的实现总结

    1.部门管理.   结构上不同.这里使用的是树形结构.一个部门下面有多个部门.部门的下面还有部门.所以,这里用树形结构是最合适的了.能很好的解决这个问题.来实现功 能. 刚一进入页面的时候,默认显示最 ...

  5. Java 分配员工部门源代码

    import java.util.Scanner; public class YuGong {public static void main(String[]args){Scanner scanner ...

  6. ssm毕设项目企业部门报销管理g9d62(java+VUE+Mybatis+Maven+Mysql+sprnig)

    ssm毕设项目企业部门报销管理g9d62(java+VUE+Mybatis+Maven+Mysql+sprnig) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HB ...

  7. java/php/net/pythont员工管理系统设计与实现设计

    本系统带文档lw万字以上+答辩PPT+查重 如果这个题目不合适,可以去我上传的资源里面找题目,找不到的话,评论留下题目,或者站内私信我, 有时间看到机会给您发 项目设计目标与原则 1.关于员工管理系统 ...

  8. java/php/net/python员工管理系统设计与实现设计

    本系统带文档lw万字以上+答辩PPT+查重 如果这个题目不合适,可以去我上传的资源里面找题目,找不到的话,评论留下题目,或者站内私信我, 有时间看到机会给您发 项目设计目标与原则 1.关于员工管理系统 ...

  9. 用Java编辑员工信息_编写一个函数来显示基于Oracle中特定部门的员工信息?

    这些是我创建的表的列表,并为创建的表插入值: CREATE TABLE DEPARTMENT (DEPARTMENT_ID NUMBER PRIMARY KEY, DEPARTMENT_NAME VA ...

最新文章

  1. 句柄(Handle)
  2. Connection reset by peer原理解析
  3. CentOS7Jenkins安装
  4. 【NLP实战系列】朴素贝叶斯文本分类实战
  5. Android安全开发之浅谈密钥硬编码
  6. Vue项目开发1-项目的创建
  7. QT5获取CPU编号和硬盘序列号
  8. The requested URL /server-status was not found on this server
  9. K8S_Google工作笔记0002---K8S集群架构组件
  10. SpringCloud 2020.x.x工程bootstrap引导配置不生效的解决方案
  11. 单片机单口不可用或被占用_新唐单片机代码评审总结
  12. React全家桶构建一款Web音乐App实战(五):歌曲状态管理及播放功能实现
  13. linux 基础 VIM 编辑器
  14. Windows cmd下载文件
  15. 学习方法——哈佛大学幸福课(积极心理学)学习笔记(下)
  16. httpclient 设置短连接_关于HTTP的长连接和短连接那些事
  17. mybatis 中 if-test 判断详解
  18. 响应式织梦模板家具家居类网站
  19. 【强化学习】First-visit MC prediction
  20. 各类轴承故障数据说明

热门文章

  1. CMOS放电 CMOS放电的作用 CMOS放电的方法
  2. java中boolean方法_java中boolean类型怎么用?
  3. iOS12 SKStoreViewController crash修复
  4. asp系统转换php系统时间函数,ASP_ASP中的时间函数大全 时间操作函数,Date 函数 描述:返回当前系统日 - phpStudy...
  5. 财神见习社兼职副业赚钱项目:淘宝蓝海之选品详解
  6. ARcore项目 MatchVS联网实现部分教程
  7. ElementUI+el-dropdown函数触发事件
  8. Centos 防火墙开启3306端口
  9. 【iOS_GitHub】新闻频道栏(网易新闻,新浪新闻,搜狐新闻,今日头条,聚划算,腾讯视频,优酷等类的频道栏),支持小红点标识 懒加载 缓存 排序 增删等
  10. 【读书2】【2014】基于MATLAB的雷达信号处理基础(第二版)——多普勒频移(3)