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(); } }
以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。
推薦閱讀:
- java實現工資管理簡單程序
- Java如何重寫object類的equals方法詳解
- Java中默認的訪問權限作用域解析
- SpringBoot模擬員工數據庫並實現增刪改查操作
- SpringBoot2 JPA解決懶加載異常的問題