員工管理系統

員工管理系統數組版

第一部分 案例描述

       案例目的

         學習面向對象的主要特徵和基本概念,包括類、對象、繼承、封裝、多態、方法的重載和重寫、Java的訪問修飾符與其它關鍵字等。

       案例難度

         ★★★

       案例覆蓋技能點

1、  流程控制語句

2、  類、對象

3、  封裝、繼承、多態

4、  方法的重載、重寫

5、  訪問修飾符

6、  static、finally

適用課程和對象

         JAVA面向對象編程基礎

第二部分 需求和開發環境

       使用技術和開發環境

         JEclipse3.0或以上、JDK7.0或以上

       案例需求

需求說明:

員工信息的基本情況

普通員工

屬性:員工編號、員工姓名、員工職務、請假天數、基本工資

普通員工工資:

在基本工資的基礎上增加10%的工作餐,50%的崗位補助,200元住房補助

基本工資+基本工資*0.1+基本工資*0.5+200

經理

屬性:員工編號、員工姓名、員工職務、請假天數、基本工資

經理工資:

在基本工資的基礎上增加20%的工作餐,50%的崗位補助,500元住房補助

基本工資+基本工資*0.2+基本工資*0.5+500

董事

屬性:員工編號、員工姓名、員工職務、請假天數、基本工資

董事工資:

在基本工資的基礎上增加8%的工作餐,30%的崗位補助,2000元住房補助,3000元投資補助

基本工資+基本工資*0.08+基本工資*0.3+2000+3000

工資扣除部分,所有員工都一樣

無請假,基本工資全發,有請假,扣除每天平均工資 * 請假天數

 

通過面向對象的編程思想,實現員工信息的增刪改查,存儲結構爲數組。限定數組長度爲100,業務流程如下

一、啓動業務選擇界面

二、增加員工

1.增加普通員工

2.增加經理

3.增加董事長

三、刪除

四、修改

4、查詢

系統基本模塊包括:

功能點

難度

備註

父類Employee類的創建

★★★

 

三個子類:CommonEmployee類,Manager類和Director類的創建

★★★

 

管理類TestEMD類——增加

★★★★

 

管理類TestEMD類——刪除

★★★★

 

管理類TestEMD類——修改

★★★★

 

管理類TestEMD類——查詢

★★★★

 

 

項目類彙總




package com.hp;



public class Xinxi {
  public String bianhao;
  public String xingming;
  public String zhiwu;
  public int qingjia;
  public int jbgz;
  public int gzgz;
public Xinxi(String bianhao, String xingming, String zhiwu, int qingjia,
int jbgz) {
super();
this.bianhao = bianhao;
this.xingming = xingming;
this.zhiwu = zhiwu;
this.qingjia = qingjia;
this.jbgz = jbgz;
}
@Override
public String toString() {
return "編號:" + bianhao + ", 姓名:" + xingming + ", 職務:"
+ zhiwu + ", 請假天數:" + qingjia;
}
public void gz(){
double yggz;
yggz=jbgz*1.6+200+jbgz/30*qingjia;
System.out.println(yggz);

}


package com.hp;


public class Dsgz extends Xinxi{
public Dsgz(String bianhao, String xingming, String zhiwu, int qingjia,
int jbgz) {
super(bianhao, xingming, zhiwu, qingjia, jbgz);
// TODO Auto-generated constructor stub
}


public void gz(){
double yggz;
yggz=jbgz*1.38+5000+jbgz/30*qingjia;
System.out.println(yggz);

}



package com.hp;


class Jlgz extends Xinxi{




public Jlgz(String bianhao, String xingming, String zhiwu, int qingjia,
int jbgz) {
super(bianhao, xingming, zhiwu, qingjia, jbgz);
}


public void gz(){
double yggz;
yggz=jbgz*1.7+500+jbgz/30*qingjia;
System.out.println(yggz);

}




package com.hp;


import java.util.Scanner;


public class Yggl {
   public static void main(String[]args){
  Xinxi ziliao[]=new Xinxi[100];
 int xuhao=0;
 for(int j=0;j<100;j++){
 System.out.println("———————————員工管理系統————————————");
     System.out.println("1.添加     2.刪除      3.修改      4.查詢       0.退出");
     System.out.println("———————————員工管理系統————————————");
         System.out.println("請選擇業務");
         Scanner input=new Scanner(System.in);
         int a=input.nextInt();
         switch(a){
         case 0:{
         j=111;
         };break;
         case 1:{
         System.out.println("請輸入編號:");
         Scanner bh=new Scanner(System.in);
             String bianhao=bh.next(); 
             System.out.println("請輸入姓名:");
         Scanner xm=new Scanner(System.in);
             String xingming=xm.next();
             System.out.println("請輸入職務(普通員工,經理,董事長):");
         Scanner zw=new Scanner(System.in);
             String zhiwu=zw.next();
             System.out.println("請輸入請假天數:");
         Scanner qj=new Scanner(System.in);
             int qingjia=qj.nextInt();
             System.out.println("請輸入基本工資:");
         Scanner jb=new Scanner(System.in);
             int jbgz=jb.nextInt();
             ziliao[xuhao]=new Xinxi(bianhao, xingming, zhiwu, qingjia, jbgz);
             System.out.print(ziliao[xuhao].toString());
             System.out.print(",工資:");
             if("普通員工".equals(ziliao[xuhao].zhiwu)==true){
             Xinxi ziliao0=new Xinxi(bianhao, xingming, zhiwu, qingjia, jbgz);
             ziliao0.gz();
             }else if("經理".equals(ziliao[xuhao].zhiwu)==true){
             Jlgz ziliao1=new Jlgz(bianhao, zhiwu, zhiwu, qingjia, jbgz);
             ziliao1.gz();
             }else if("董事長".equals(ziliao[xuhao].zhiwu)==true){
             Dsgz ziliao2=new Dsgz(bianhao, xingming, zhiwu, qingjia, jbgz);
             ziliao2.gz();
             }else{
             System.out.println("輸入錯誤,請重新輸入");
             break;
             }
             xuhao=xuhao+1;
         };break;
         case 2:{
         System.out.println("——————————————————刪除電話本————————————————");
         System.out.println("需要刪除的姓名:");
         Scanner mmm=new Scanner(System.in);
         String xingmingshan=mmm.next();
         for(int i=0;i<xuhao;i++){
         if(xingmingshan.equals(ziliao[i].xingming)==true){
         System.out.print(ziliao[i].toString());
             System.out.print(",工資:");
             if("普通員工".equals(ziliao[i].zhiwu)==true){
             Xinxi ziliao0=new Xinxi(ziliao[i].bianhao,ziliao[i].xingming,ziliao[i].zhiwu,ziliao[i].qingjia,ziliao[i].jbgz );
             ziliao0.gz();
             }else if("經理".equals(ziliao[i].zhiwu)==true){
             Jlgz ziliao1=new Jlgz(ziliao[i].bianhao,ziliao[i].xingming,ziliao[i].zhiwu,ziliao[i].qingjia,ziliao[i].jbgz);
             ziliao1.gz();
             }else if("董事長".equals(ziliao[i].zhiwu)==true){
             Dsgz ziliao2=new Dsgz(ziliao[i].bianhao,ziliao[i].xingming,ziliao[i].zhiwu,ziliao[i].qingjia,ziliao[i].jbgz);
             ziliao2.gz();}
        for(int n=i;n<xuhao-1;n++){
        ziliao[n]=ziliao[n+1];
        }
        xuhao=xuhao-1;
        break;
         }
         if (i==xuhao-1){
         System.out.println("查無此人");
         }
         }
         };break;
         case 3:{
         System.out.println("需要修改的姓名:");
         Scanner mmmm=new Scanner(System.in);
         String xingmingxiu=mmmm.next();
         for(int k=0;k<xuhao;k++){
             if(xingmingxiu.equals(ziliao[k].xingming)==true){
             System.out.print(ziliao[k].toString());
             System.out.print(",工資:");
             if("普通員工".equals(ziliao[k].zhiwu)==true){
             Xinxi ziliao0=new Xinxi(ziliao[k].bianhao,ziliao[k].xingming,ziliao[k].zhiwu,ziliao[k].qingjia,ziliao[k].jbgz );
             ziliao0.gz();
             }else if("經理".equals(ziliao[k].zhiwu)==true){
             Jlgz ziliao1=new Jlgz(ziliao[k].bianhao,ziliao[k].xingming,ziliao[k].zhiwu,ziliao[k].qingjia,ziliao[k].jbgz);
             ziliao1.gz();
             }else if("董事長".equals(ziliao[k].zhiwu)==true){
             Dsgz ziliao2=new Dsgz(ziliao[k].bianhao,ziliao[k].xingming,ziliao[k].zhiwu,ziliao[k].qingjia,ziliao[k].jbgz);
             ziliao2.gz();}
             
             
             System.out.println("請輸入編號:");
         Scanner bh=new Scanner(System.in);
             String bianhao1=bh.next(); 
             System.out.println("請輸入姓名:");
         Scanner xm=new Scanner(System.in);
             String xingming1=xm.next();
             System.out.println("請輸入職務(普通員工,經理,董事長):");
         Scanner zw=new Scanner(System.in);
             String zhiwu1=zw.next();
             System.out.println("請輸入請假天數:");
         Scanner qj=new Scanner(System.in);
             int qingjia1=qj.nextInt();
             System.out.println("請輸入基本工資:");
         Scanner jb=new Scanner(System.in);
             int jbgz1=jb.nextInt();
             ziliao[k]=new Xinxi(bianhao1, xingming1, zhiwu1, qingjia1, jbgz1);
             System.out.print(ziliao[k].toString());
             System.out.print(",工資:");
             if("普通員工".equals(ziliao[k].zhiwu)==true){
             Xinxi ziliao0=new Xinxi(bianhao1, xingming1, zhiwu1, qingjia1, jbgz1);
             ziliao0.gz();
             }else if("經理".equals(ziliao[k].zhiwu)==true){
             Jlgz ziliao1=new Jlgz(bianhao1, zhiwu1, zhiwu1, qingjia1, jbgz1);
             ziliao1.gz();
             }else if("董事長".equals(ziliao[k].zhiwu)==true){
             Dsgz ziliao2=new Dsgz(bianhao1, xingming1, zhiwu1, qingjia1, jbgz1);
             ziliao2.gz();
             }else{
             System.out.println("輸入錯誤,請重新輸入");
             break;
             }
             }
             }
         };break;
         case 4:{
         System.out.println("需要查詢的姓名:");
         Scanner mmmaa=new Scanner(System.in);
         String xingmingcha=mmmaa.next();
         for (int m=0;m<xuhao ;m++){
         if(xingmingcha.equals(ziliao[m].xingming)==true){
         System.out.println(ziliao[m].toString());
         System.out.print(",工資:");
             if("普通員工".equals(ziliao[m].zhiwu)==true){
             Xinxi ziliao0=new Xinxi(ziliao[m].bianhao,ziliao[m].xingming,ziliao[m].zhiwu,ziliao[m].qingjia,ziliao[m].jbgz );
             ziliao0.gz();
             }else if("經理".equals(ziliao[m].zhiwu)==true){
             Jlgz ziliao1=new Jlgz(ziliao[m].bianhao,ziliao[m].xingming,ziliao[m].zhiwu,ziliao[m].qingjia,ziliao[m].jbgz);
             ziliao1.gz();
             }else if("董事長".equals(ziliao[m].zhiwu)==true){
             Dsgz ziliao2=new Dsgz(ziliao[m].bianhao,ziliao[m].xingming,ziliao[m].zhiwu,ziliao[m].qingjia,ziliao[m].jbgz);
             ziliao2.gz();}
         break;
         }
         if (m==xuhao-1){
             System.out.println("查無此人");
             }
         }
         };break;
         default:{
         System.out.println("無此功能");
         };break;
         }
 }
   }
}




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章