Java實(shí)現(xiàn)部門(mén)員工管理
本文實(shí)例為大家分享了Java實(shí)現(xiàn)部門(mén)員工管理的具體代碼,供大家參考,具體內(nèi)容如下
項(xiàng)目作業(yè):部門(mén)員工管理
題目要求:
某公司要開(kāi)發(fā)內(nèi)部的 “辦公信息化管理系統(tǒng)”,請(qǐng)使用面向?qū)ο蟮乃枷朊枋鲆韵聠T工信息。



程序運(yùn)行參考效果圖如下:

任務(wù)描述
一、程序整體要求
劃分功能模塊,根據(jù)題目要求設(shè)置不同的包和類(lèi),在類(lèi)中實(shí)現(xiàn)相應(yīng)功能的管理。
類(lèi)的標(biāo)識(shí)要清楚易懂,代碼結(jié)構(gòu)要層次分明,代碼編輯思路要清晰、整潔。
要求Java代碼書(shū)寫(xiě)、命名符合規(guī)范,屬性所屬數(shù)據(jù)類(lèi)型要準(zhǔn)確合理,在代碼中添加必要的注釋?zhuān)绦蜻\(yùn)行效果與提供的頁(yè)面效果圖、結(jié)構(gòu)保持一致,信息間分隔符“=”號(hào)數(shù)量不做統(tǒng)一要求,文字大小、顏色也不做統(tǒng)一要求,將作業(yè)項(xiàng)目形成壓縮文件并提交。
二、思路分析
由場(chǎng)景和運(yùn)行效果,可以分析出項(xiàng)目中可以抽取如下類(lèi)(要求編碼時(shí)注意面向?qū)ο笏枷爰胺庋b特性的應(yīng)用):
1、部門(mén)類(lèi):
類(lèi)型描述:能夠描述部門(mén)編號(hào)、部門(mén)名稱(chēng)、員工數(shù)組、統(tǒng)計(jì)部門(mén)中的員工個(gè)數(shù)
要求:設(shè)定方法統(tǒng)計(jì)該部門(mén)員工個(gè)數(shù)
提示:部門(mén)類(lèi)的屬性有四個(gè),分別是部門(mén)編號(hào),部門(mén)名稱(chēng),員工數(shù)組 和 統(tǒng)計(jì)變量 ,具體是市場(chǎng)部還是人事部,是通過(guò)部門(mén)類(lèi)的對(duì)象來(lái)表示的,如果是市場(chǎng)部的對(duì)象,那么添加并統(tǒng)計(jì)的就是市場(chǎng)部的人數(shù),同樣如果是人事部的對(duì)象,添加并統(tǒng)計(jì)的就是人事部的人數(shù)。
2、職務(wù)類(lèi):
類(lèi)型描述:能夠描述職務(wù)編號(hào)、職務(wù)名稱(chēng)。
3、員工類(lèi):
類(lèi)型描述:能夠描述員工姓名、工號(hào)、年齡、性別、所屬部門(mén)、職務(wù)信息
要求:
1、 設(shè)定方法限定年齡只能是18--65之間,反之則設(shè)置默認(rèn)為18歲
2、 設(shè)定方法限定性別只能是“男”或者“女”,反之則設(shè)置默認(rèn)為"男"(使用字符串的equals()方法)
3、 設(shè)定方法,實(shí)現(xiàn)員工自我介紹信息,將員工信息作為字符串返回
4、測(cè)試類(lèi):
類(lèi)型描述:測(cè)試程序,并參照效果圖輸出結(jié)果
注意:可以在屬性上添加適當(dāng)?shù)男畔Ⅱ?yàn)證,提高信息的安全性
評(píng)分標(biāo)準(zhǔn):
1、規(guī)范【10分】
每個(gè)類(lèi)都封裝在自己獨(dú)立的 ".java"文件中;
文件、class、成員變量命名規(guī)范;
代碼結(jié)構(gòu)要層次分明;
Java代碼規(guī)范及添加適量注釋。
2、程序整體運(yùn)行效果【10分】
程序正常運(yùn)行效果,且滿(mǎn)足效果圖要求。信息間分隔符“=”號(hào)數(shù)量不做統(tǒng)一要求
3、部門(mén)類(lèi)【22分】
能夠描述部門(mén)編號(hào)、部門(mén)名稱(chēng)、獲取所有該部門(mén)員工信息;設(shè)定方法,完成統(tǒng)計(jì)該部門(mén)員工個(gè)數(shù)的功能
4、職務(wù)類(lèi)【6分】
能夠描述職務(wù)編號(hào)、職務(wù)名稱(chēng)
5、員工類(lèi)【34分】
能夠描述員工姓名、工號(hào)、年齡、性別、所屬部門(mén)、職務(wù)信息;
設(shè)定方法來(lái)約束年齡的范圍;
設(shè)定方法來(lái)限定性別的選擇;
設(shè)定方法,實(shí)現(xiàn)員工自我介紹信息,將員工信息作為字符串返回
6、測(cè)試類(lèi)【18分】
測(cè)試程序,將題目中的員工信息傳入到程序中,參照效果圖輸出結(jié)果
package com.staff;
?
//部門(mén)類(lèi)
public class Department{
? private String DNumber; ? ?//部門(mén)編號(hào)
? private String DName; ? ? ?//部門(mén)名稱(chēng)
? private Staff[] Staff=new Staff[10]; ?//定義一個(gè)Staff類(lèi)的員工數(shù)組
? private int StaffNum; ? ? ?//員工人數(shù)
? 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;
?
? }
? //定義構(gòu)造方法,獲得DNumber和DName的值
? public Department(String DNumber,String DName){
? ? ? this.setDNumber(DNumber);
? ? ? this.setDName(DName);
? }
? /*將員工保存到數(shù)組中*/
? 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;
?
//職務(wù)類(lèi)
public class Office{
? private String ONumber; ? //職務(wù)編號(hào)
? private String OName; ? ? //職務(wù)名稱(chēng)
? 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;
?
? }
? //定義構(gòu)造方法,獲得ONumber和OName的值
? public Office(String ONumber,String OName){
? ? ? this.setONumber(ONumber);
? ? ? this.setOName(OName);
? }
}package com.staff;
?
//員工類(lèi)
public class Staff{
? private String Name; ? ? //員工姓名
? private String Number; ? //員工工號(hào)
? private int Age; ? ? ? ? //員工年齡
? private String Sex; ? ? ?//員工性別
? private Department department; ?//員工所屬部門(mén)
? private Office officeInfo; ? ? ?//員工職務(wù)信息
?
? 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歲之間,如果不在,則默認(rèn)為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("輸入性別有誤,默認(rèn)值為男");
? ? ? ? ? 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;
? }
? //定義構(gòu)造方法,分別獲得員工姓名,員工工號(hào),員工性別,員工姓名,員工所屬部門(mén),員工職務(wù)信息
? 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工號(hào):"+ this.getNumber()+"\n年齡:"+ this.getAge()+"\n性別:"+ this.getSex()+"\n職務(wù):"+ this.getDepartment().getDName()+ this.getOfficeInfo().getOName();
? }
}package com.staff;
?
//員工類(lèi)
public class Staff{
? private String Name; ? ? //員工姓名
? private String Number; ? //員工工號(hào)
? private int Age; ? ? ? ? //員工年齡
? private String Sex; ? ? ?//員工性別
? private Department department; ?//員工所屬部門(mén)
? private Office officeInfo; ? ? ?//員工職務(wù)信息
?
? 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歲之間,如果不在,則默認(rèn)為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("輸入性別有誤,默認(rèn)值為男");
? ? ? ? ? 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;
? }
? //定義構(gòu)造方法,分別獲得員工姓名,員工工號(hào),員工性別,員工姓名,員工所屬部門(mén),員工職務(wù)信息
? 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工號(hào):"+ this.getNumber()+"\n年齡:"+ this.getAge()+"\n性別:"+ this.getSex()+"\n職務(wù):"+ this.getDepartment().getDName()+ this.getOfficeInfo().getOName();
? }
}以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Java精品項(xiàng)目瑞吉外賣(mài)之員工信息管理篇
- Java實(shí)現(xiàn)企業(yè)員工管理系統(tǒng)
- java實(shí)現(xiàn)員工工資管理系統(tǒng)
- Java實(shí)現(xiàn)員工信息管理系統(tǒng)
- Java實(shí)現(xiàn)簡(jiǎn)單員工管理系統(tǒng)
- Java實(shí)戰(zhàn)員工績(jī)效管理系統(tǒng)的實(shí)現(xiàn)流程
- Java 實(shí)戰(zhàn)范例之員工管理系統(tǒng)的實(shí)現(xiàn)
- Java實(shí)現(xiàn)員工管理系統(tǒng)
- 員工管理系統(tǒng)java版
相關(guān)文章
JavaWeb Session 會(huì)話(huà)管理實(shí)例詳解
這篇文章主要介紹了JavaWeb Session 會(huì)話(huà)管理的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧2016-09-09
一文搞懂Spring中@Autowired和@Resource的區(qū)別
@Autowired?和?@Resource?都是?Spring/Spring?Boot?項(xiàng)目中,用來(lái)進(jìn)行依賴(lài)注入的注解。它們都提供了將依賴(lài)對(duì)象注入到當(dāng)前對(duì)象的功能,但二者卻有眾多不同,并且這也是常見(jiàn)的面試題之一,所以我們今天就來(lái)盤(pán)它2022-08-08
springboot~nexus項(xiàng)目打包要注意的地方示例代碼詳解
這篇文章主要介紹了springboot~nexus項(xiàng)目打包要注意的地方,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
spring使用RedisTemplate的操作類(lèi)訪(fǎng)問(wèn)Redis
本篇文章主要介紹了spring使用RedisTemplate的操作類(lèi)訪(fǎng)問(wèn)Redis,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
MyBatis實(shí)現(xiàn)插入大量數(shù)據(jù)方法詳解
最近在公司項(xiàng)目開(kāi)發(fā)中遇到批量數(shù)據(jù)插入或者更新,下面這篇文章主要給大家介紹了關(guān)于MyBatis實(shí)現(xiàn)批量插入的相關(guān)資料,需要的朋友可以參考下2022-11-11
SpringBoot如何讀取配置文件參數(shù)并全局使用
這篇文章主要介紹了SpringBoot如何讀取配置文件參數(shù)并全局使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12
Java實(shí)現(xiàn)對(duì)象復(fù)制的方法實(shí)例
這篇文章主要介紹了Java實(shí)現(xiàn)對(duì)象復(fù)制的方法實(shí)例,深復(fù)制:復(fù)制出來(lái)的對(duì)象中的變量(包括基本類(lèi)型和字符串)和原來(lái)的對(duì)象的值都相同,引用對(duì)象也會(huì)指向復(fù)制出來(lái)的對(duì)象,需要的朋友可以參考下2023-08-08

