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