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。

推薦閱讀: