欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

員工管理系統(tǒng)java版

 更新時間:2017年11月14日 14:56:40   作者:李廣亮  
這篇文章主要為大家詳細介紹了java版的員工管理系統(tǒng),,具有一定的參考價值,感興趣的小伙伴們可以參考一下

員工管理系統(tǒng)要求如下:

通過面向?qū)ο蟮木幊趟枷耄瑢崿F(xiàn)員工信息的增刪改查,存儲結(jié)構為數(shù)組。限定數(shù)組長度為100。

實現(xiàn)頁面:

添加員工

查找員工

修改員工

刪除員工、退出

工程目錄結(jié)構:

1.Employee基類

/**
 * @author 李廣亮
 *
 */
public class Employee {

 /**
  * 成員屬性:ID、姓名、職務、請假天數(shù)、基本工資
  */
 private String ID;
 private String name;
 private String job;
 private int holiday;
 private double salary;

 /**
  * 計算工資
  */
 public double sunSalary(double salary, int holiday) {
  return salary - (salary/30) * holiday;
 }

 /**
  * get和set方法
  */
 public String getID() {
  return ID;
 }

 public void setID(String iD) {
  ID = iD;
 }

 public String getName() {
  return name;
 }

 public void setName(String name) {
  this.name = name;
 }

 public String getJob() {
  return job;
 }

 public void setJob(String job) {
  this.job = job;
 }

 public int getHoliday() {
  return holiday;
 }

 public void setHoliday(int holiday) {
  this.holiday = holiday;
 }

 public double getSalary() {
  return salary;
 }

 public void setSalary(double salary) {
  this.salary = salary;
 }

 /**
  * toString()方法
  */
 public String toString() {
  return "編號:" + ID + ", 姓名:" + name + ", 職務" + job
    + ", 請假天數(shù):" + holiday + ", 工資:" + salary;
 }

}

2.普通員工類CommonEmployee

public class CommonEmployee extends Employee {

 /**
  * 普通員工工資
  * 在基本工資的基礎上增加10%的工作餐,50%的崗位補助,200元住房補助
  * @param 工資
  * @param 請假天數(shù)
  */
 @Override
 public double sunSalary(double salary, int holiday) {
  double sum = salary + salary*0.1 + salary*0.5 + 200;
  return sum - sum/30 * holiday;
 } 

}

3.經(jīng)理ManagerEmployee

public class ManagerEmployee extends Employee {

 /**
  * 經(jīng)理工資
  * 在基本工資的基礎上增加20%的工作餐,50%的崗位補助,500元住房補助
  * @param 工資
  * @param 請假天數(shù)
  */ 
 @Override
 public double sunSalary(double salary, int holiday) {
  double sum = salary + salary*0.2 + salary*0.5 + 500;
  return sum - sum/30 * holiday;
 }

}

4.懂事DirectorEmployee

public class ManagerEmployee extends Employee {

 /**
  * 經(jīng)理工資
  * 在基本工資的基礎上增加20%的工作餐,50%的崗位補助,500元住房補助
  * @param 工資
  * @param 請假天數(shù)
  */ 
 @Override
 public double sunSalary(double salary, int holiday) {
  double sum = salary + salary*0.2 + salary*0.5 + 500;
  return sum - sum/30 * holiday;
 }

}

5.業(yè)務邏輯類TestEMD

/**
 * @author 李廣亮
 *
 */
public class TestEMD {

 /**
  * len代表數(shù)組的當前下標
  */
 static int len = -1;
 static Employee[] emp = new Employee[100];
 static Scanner sc = new Scanner(System.in);

 /**
  * 增加新雇員
  */
 public void addEmployee() {
  Employee em = null;
  System.out.println("---增加員工---");

  System.out.print("請輸入員工編號:");
  String id = sc.next();
  System.out.print("請輸入員工姓名:");
  String name = sc.next();

  System.out.print("請輸入員工職務(員工、經(jīng)理、懂事):");
  String job = sc.next();  
  System.out.print("請輸入員工請假天數(shù):");
  int holiday = sc.nextInt();

  System.out.print("請輸入員工基本工資:");
  double salary = sc.nextDouble();

  //在此作一下邏輯判斷,根據(jù)job的不同,創(chuàng)建不同的Employee子類
  if(job.equals("員工")) {
   em = new CommonEmployee();
  } else if(job.equals("經(jīng)理")) {
   em = new ManagerEmployee();
  } else if(job.equals("懂事")) {
   em = new DirectorEmployee();
  } else {
   System.out.println("輸入不正確!");
  }

  em.setID(id);  
  em.setName(name);  
  em.setJob(job);  
  em.setHoliday(holiday);  
  em.setSalary(salary);
  //len先加1后使用,變?yōu)閑mp[0]
  emp[++len] = em;
  printEmployee(emp[len]);
  System.out.println("添加成功!");
 }

 /**
  * 刪除員工
  */
 public void deleteEmployee() {
  System.out.println("------刪除員工------");
  System.out.println("---請輸入員工姓名:---");
  //設置一個boolean類型的flg標志,若查找不到則為false
  boolean flg = false;
  String name = sc.next();
  for(int i=0; i<=len; i++) {
   //若查找成功,則把emp[i]數(shù)組后面的指針往前移一位,覆蓋掉當前的指向?qū)ο?
   if(emp[i].getName().equals(name)) {
    printEmployee(emp[i]);
    for(int j=i; j<=len; j++) {
     emp[j] = emp[j+1];
    }
    //前移后,最后一位置空,len--
    emp[len] = null;
    len--;
    System.out.println("刪除成功!");
    flg = true;
    break;
   }   
  }
  if(!flg) {
   System.out.println("查無此人,請重新輸入:");
   deleteEmployee();
  }
 }
 /**
  * 修改雇員信息
  * @param args
  * @return 
  */
 public void updateEmployee() {
  System.out.println("------修改員工------");
  System.out.println("---請輸入員工姓名:---");
  //設置一個boolean類型的flg標志,若查找不到則為false
  boolean flg = false;
  String name = sc.next();
  for(int i=0; i<=len; i++) {
   if(emp[i].getName().equals(name)) {
    printEmployee(emp[i]);
    System.out.println("---請按照提示輸入修改信息---");
    System.out.print("請輸入員工編號:");
    emp[i].setID(sc.next());
    System.out.print("請輸入員工姓名:");
    emp[i].setName(sc.next());
    System.out.print("請輸入員工職務(員工、經(jīng)理、懂事):");
    emp[i].setJob(sc.next());
    System.out.print("請輸入員工請假天數(shù):");
    emp[i].setHoliday(sc.nextInt());
    System.out.print("請輸入員工基本工資:");
    emp[i].setSalary(sc.nextDouble());
    //修改完成后打印一下
    printEmployee(emp[i]);
    System.out.println("修改成功!");
    flg = true;
    break;
   }   
  }
  if(!flg) {
   System.out.println("查無此人,請重新輸入:");
   updateEmployee();
  }
 }
 /**
  * 根據(jù)姓名查找雇員信息
  * @param args
  */
 public void findEmployee() {
  System.out.println("------查找員工------");
  System.out.println("---請輸入員工姓名:---");
  //設置一個boolean類型的flg標志,若查找不到則為false
  boolean flg = false;
  String name = sc.next();
  for( int i=0; i<=len; i++) {
   if(emp[i].getName().equals(name)) {
    printEmployee(emp[i]);
    System.out.println("查找成功!");
    flg = true;
    break;
   }   
  }
  if(!flg) {
   System.out.println("查無此人,請重新輸入:");
   findEmployee();
  }
 }

 /**
  * 打印雇員信息
  * @param args
  */
 public void printEmployee(Employee em) {  
  System.out.print(" 編號: " + em.getID());
  System.out.print(" 姓名: " + em.getName());
  System.out.print(" 職務: " + em.getJob());
  System.out.print(" 請假天數(shù) : " + em.getHoliday());
  //參數(shù):1.基本工資 2.請假天數(shù)
  double sum = em.sunSalary(em.getSalary(), em.getHoliday());
  System.out.println(" 工資:" + sum);
 }

 public static void main(String[] args) {

  TestEMD te = new TestEMD();

  //開始界面
  System.out.println("|----------------|");
  System.out.println("|-----1. 增加 -----|");
  System.out.println("|-----2. 刪除 -----|");
  System.out.println("|-----3. 修改 -----|");
  System.out.println("|-----4. 查詢 -----|");
  System.out.println("|-----0. 退出 -----|");
  System.out.println("|----------------|");

  //業(yè)務選擇
  label : while(true) {
   System.out.println("請選擇業(yè)務:");
   int select = sc.nextInt();
   switch (select) {
   case 1: //添加新雇員
    te.addEmployee();
    break;
   case 2: //刪除雇員
    te.deleteEmployee();
    break;
   case 3: //修改雇員信息
    te.updateEmployee();
    break;
   case 4: //根據(jù)姓名查找雇員信息
    te.findEmployee();
    break;
   case 0: //退出
    System.out.println("退出成功!");
    break label;

   default:
    System.out.println("您輸入的數(shù)字不正確!");
    break;
   }
  }
 }

}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • JavaMail入門教程之發(fā)送郵件(3)

    JavaMail入門教程之發(fā)送郵件(3)

    這篇文章主要為大家詳細介紹了JavaMail入門教程之發(fā)送郵件的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • SpringBoot整合Mybatis與MybatisPlus方法詳細講解

    SpringBoot整合Mybatis與MybatisPlus方法詳細講解

    這篇文章主要介紹了SpringBoot整合Mybatis與MybatisPlus方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2023-01-01
  • springboot+vue+elementsUI實現(xiàn)分角色注冊登錄界面功能

    springboot+vue+elementsUI實現(xiàn)分角色注冊登錄界面功能

    這篇文章主要給大家介紹了關于springboot+vue+elementsUI實現(xiàn)分角色注冊登錄界面功能的相關資料,Spring?Boot和Vue.js是兩個非常流行的開源框架,可以用來構建Web應用程序,需要的朋友可以參考下
    2023-07-07
  • 一篇文章帶你入門Java之編程規(guī)范

    一篇文章帶你入門Java之編程規(guī)范

    這篇文章主要介紹了如何養(yǎng)成良好java代碼編碼規(guī)范,規(guī)范需要平時編碼過程中注意,是一個慢慢養(yǎng)成的好習慣,下面小編就帶大家來一起詳細了解一下吧
    2021-08-08
  • Gradle的SpringBoot項目構建圖解

    Gradle的SpringBoot項目構建圖解

    這篇文章主要介紹了Gradle的SpringBoot項目構建圖解,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 這個Java泛型不太正經(jīng)

    這個Java泛型不太正經(jīng)

    這篇文章主要為大家介紹了Java泛型,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助<BR>
    2022-01-01
  • java常見報錯:Array?Out?of?Bounds兩種解決辦法

    java常見報錯:Array?Out?of?Bounds兩種解決辦法

    這篇文章主要給大家介紹了關于java報錯Array?Out?of?Bounds的兩種解決辦法,Array out of bounds錯誤表示你嘗試訪問數(shù)組中不存在的索引,即索引小于零或者大于等于數(shù)組的大小,文中通過代碼將解決的辦法介紹的非常詳細,需要的朋友可以參考下
    2024-08-08
  • SpringBoot集成Apache POI實現(xiàn)Excel的導入導出

    SpringBoot集成Apache POI實現(xiàn)Excel的導入導出

    Apache POI是一個流行的Java庫,用于處理Microsoft Office格式文件,包括Excel文件,本文主要介紹了SpringBoot集成Apache POI實現(xiàn)Excel的導入導出,具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • 在Spring 中使用@Aspect 控制自定義注解的操作

    在Spring 中使用@Aspect 控制自定義注解的操作

    這篇文章主要介紹了在Spring 中使用@Aspect 控制自定義注解的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • IntelliJ IDEA編譯項目報錯

    IntelliJ IDEA編譯項目報錯 "xxx包不存在" 或 "找不到符號"

    這篇文章主要介紹了IntelliJ IDEA編譯項目報錯 "xxx包不存在" 或 "找不到符號" ,文中通過圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08

最新評論