溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java怎么實(shí)現(xiàn)雇員管理小項(xiàng)目

發(fā)布時(shí)間:2021-09-02 15:03:43 來源:億速云 閱讀:114 作者:chen 欄目:編程語言

這篇文章主要講解了“Java怎么實(shí)現(xiàn)雇員管理小項(xiàng)目”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Java怎么實(shí)現(xiàn)雇員管理小項(xiàng)目”吧!

工具:記事本,方便編譯和演示

環(huán)境:將代碼放在一個(gè)類當(dāng)中了(這個(gè)習(xí)慣很不好)

目的:回顧知識(shí),理解面向?qū)ο缶幊?/p>

Java怎么實(shí)現(xiàn)雇員管理小項(xiàng)目

代碼實(shí)例(分四塊,直接用即可)

1.導(dǎo)包

import java.util.ArrayList;
import java.io.BufferedReader;
import java.io.InputStreamReader;

2.測(cè)試類

public class GuanLi {

  public static void main(String[] args) throws Exception {
    // TODO Auto-generated method stub

    // 創(chuàng)建EmpManage對(duì)象
    EmpManage em = new EmpManage();

    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    // 做出一個(gè)簡單的菜單
    while (true) {
      System.out.println("請(qǐng)輸入你要進(jìn)行的操作:");
      System.out.println("1:表示要添加一個(gè)雇員");
      System.out.println("2:表示要查找一個(gè)雇員");
      System.out.println("3:表示要修改雇員工資");
      System.out.println("4:表示要?jiǎng)h除一個(gè)雇員");
      System.out.println("5:表示要您要退出操作");

      String operType = br.readLine();

      if (operType.equals("1")) {

        System.out.println("請(qǐng)輸入編號(hào)");
        String num = br.readLine();

        System.out.println("請(qǐng)輸入名字");
        String name = br.readLine();

        System.out.println("請(qǐng)輸入工資");
        float sal = Float.parseFloat(br.readLine());

        // 此時(shí)此刻,經(jīng)過輸入信息,對(duì)象創(chuàng)建好
        Emp2 emp = new Emp2(num, name, sal);

        // 將它添加進(jìn)去
        em.addEmp(emp);

      } else if (operType.equals("2")) {

        System.out.println("請(qǐng)輸入編號(hào)");
        String num = br.readLine();

        em.showInfo(num);

      } else if (operType.equals("3")) {

        System.out.println("請(qǐng)輸入編號(hào)");
        String num = br.readLine();

        System.out.println("請(qǐng)輸入工資");
        float sal = Float.parseFloat(br.readLine());

        em.updateSal(num, sal);

      } else if (operType.equals("4")) {

        System.out.println("請(qǐng)輸入編號(hào)");
        String num = br.readLine();

        em.delEmp(num);

      } else if (operType.equals("5")) {
        System.exit(0);
      }
    }
  }

}

3.雇員管理類(包括對(duì)雇員信息的動(dòng)態(tài)管理)

// 創(chuàng)建雇員管理類
class EmpManage {

  // 定義集合類(屬性)
  private ArrayList<Emp2> al = null;

  // 構(gòu)造函數(shù),初始化成員變量
  public EmpManage() {
    al = new ArrayList<Emp2>();
  }

  // 封裝的方法
  // 1.加入員工
  public void addEmp(Emp2 emp) {
    al.add(emp);
  }

  // 2.顯示員工相關(guān)信息
  public void showInfo(String num) {
    // 遍歷整個(gè)ArrayList
    for (int i = 0; i < al.size(); i++) {

      // 取出Emp2對(duì)象
      Emp2 emp = (Emp2) al.get(i);

      // 比較編號(hào)
      if (emp.getNum().equals(num)) {

        System.out.println("找到該員工,他的信息是:");
        System.out.println("編號(hào):" + emp.getNum());
        System.out.println("名字:" + emp.getName());
        System.out.println("工資:" + emp.getSal());
      }
    }
  }

  // 3.修改員工工資(依照編號(hào)來修改工資)
  // 即,第一個(gè)參數(shù)是編號(hào);第二個(gè)是用戶傳進(jìn)來“新的”薪水
  public void updateSal(String num, float newSal) {
    // 遍歷
    for (int i = 0; i < al.size(); i++) {

      Emp2 emp = (Emp2) al.get(i);

      // 判斷編號(hào)
      if (emp.getNum().equals(num)) {
        // 修改薪水
        emp.setSal(newSal);
      }

    }

  }

  // 4.刪除某個(gè)員工
  public void delEmp(String unm) {
    // 遍歷
    for (int i = 0; i < al.size(); i++) {

      Emp2 emp = (Emp2) al.get(i);

      if (emp.getNum().equals(unm)) {

        // 按編號(hào)刪除
        al.remove(i);

        // 按對(duì)象刪除
        // al.remove(emp);
      }

    }

  }
}

4.雇員類(包括雇員的基本信息)

// 創(chuàng)建雇員類
class Emp2 {
  private String name;

  public String getName() {
    return name;
  }

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

  public String getNum() {
    return num;
  }

  public void setNum(String num) {
    this.num = num;
  }

  public float getSal() {
    return sal;
  }

  public void setSal(float sal) {
    this.sal = sal;
  }

  // 學(xué)號(hào)里面可能出現(xiàn)字母,所以定義為String
  private String num;
  private float sal;

  // 構(gòu)造函數(shù),一堆初始化的工作
  public Emp2(String num, String name, float sal) {
    this.num = num;
    this.name = name;
    this.sal = sal;
  }
}

在這里,雇員類和雇員管理類分開,方法、屬性都進(jìn)行了相應(yīng)的封裝,各司其職。

在測(cè)試類中,我們想用做什么,就調(diào)用其類中的方法即可,而不用操心方法是咋實(shí)現(xiàn)的呀,里面都有哪些函數(shù)呀,這即是很好的面向?qū)ο缶幊趟枷搿?/p>

Java怎么實(shí)現(xiàn)雇員管理小項(xiàng)目

在dos中編譯的時(shí)候發(fā)現(xiàn),.java文件中所有的類會(huì)被分別編譯成.class文件。在使用IDE后,這一點(diǎn)沒注意。

Java怎么實(shí)現(xiàn)雇員管理小項(xiàng)目

感謝各位的閱讀,以上就是“Java怎么實(shí)現(xiàn)雇員管理小項(xiàng)目”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Java怎么實(shí)現(xiàn)雇員管理小項(xiàng)目這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI