最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java雇員管理小項目

 更新時間:2018年01月27日 08:50:58   作者:馬江河  
這篇文章主要為大家詳細(xì)介紹了Java雇員管理小項目,理解面向?qū)ο缶幊?,具有一定的參考價值,感興趣的小伙伴們可以參考一下

在學(xué)習(xí)集合框架的時候,初學(xué)者很容易練習(xí)到學(xué)生管理系統(tǒng)、雇員管理體統(tǒng)等練習(xí)題。在學(xué)習(xí)集合框架之前,基本上Java基本語法都學(xué)完了,集合框架也從側(cè)面的檢驗對前面學(xué)習(xí)的理解。下面用一個曾經(jīng)做過的練習(xí)題,回顧集合框架,以及簡要介紹面向?qū)ο缶幊趟枷?。我發(fā)現(xiàn)舊的知識,當(dāng)你再回頭去看的時候,理解會更透徹。最近鞏固基礎(chǔ)ing。

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

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

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

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

1.導(dǎo)包

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

2.測試類

public class GuanLi {

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

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

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

      String operType = br.readLine();

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

        System.out.println("請輸入編號");
        String num = br.readLine();

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

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

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

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

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

        System.out.println("請輸入編號");
        String num = br.readLine();

        em.showInfo(num);

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

        System.out.println("請輸入編號");
        String num = br.readLine();

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

        em.updateSal(num, sal);

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

        System.out.println("請輸入編號");
        String num = br.readLine();

        em.delEmp(num);

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

}

3.雇員管理類(包括對雇員信息的動態(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) {
    // 遍歷整個ArrayList
    for (int i = 0; i < al.size(); i++) {

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

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

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

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

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

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

    }

  }

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

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

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

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

        // 按對象刪除
        // 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é)號里面可能出現(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)的封裝,各司其職。

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

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

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

相關(guān)文章

  • 詳解@ConditionalOnMissingBean注解的作用

    詳解@ConditionalOnMissingBean注解的作用

    這篇文章主要介紹了詳解@ConditionalOnMissingBean注解的作用,@ConditionalOnMissingBean,它是修飾bean的一個注解,主要實現(xiàn)的是,當(dāng)你的bean被注冊之后,如果而注冊相同類型的bean,就不會成功,它會保證你的bean只有一個,需要的朋友可以參考下
    2023-10-10
  • mybatis-plus常用注解@TableId和@TableField的用法

    mybatis-plus常用注解@TableId和@TableField的用法

    本文主要介紹了mybatis-plus常用注解@TableId和@TableField的用法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • JAVA中字符串函數(shù)subString的用法小結(jié)

    JAVA中字符串函數(shù)subString的用法小結(jié)

    本篇文章主要是對JAVA中字符串函數(shù)subString的用法進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-02-02
  • springboot+redis+lua實現(xiàn)分布式鎖的腳本

    springboot+redis+lua實現(xiàn)分布式鎖的腳本

    本文介紹了如何使用Spring Boot、Redis和Lua腳本實現(xiàn)分布式鎖,包括實現(xiàn)原理、代碼實現(xiàn)和存在的問題,感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • java設(shè)計模式學(xué)習(xí)之代理模式

    java設(shè)計模式學(xué)習(xí)之代理模式

    這篇文章主要為大家詳細(xì)介紹了java設(shè)計模式學(xué)習(xí)之代理模式的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • 如何避免Apache?Beanutils屬性copy

    如何避免Apache?Beanutils屬性copy

    這篇文章主要為大家介紹了如何避免Apache?Beanutils屬性copy的分析詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • SpringBoot淺析Redis訪問操作使用

    SpringBoot淺析Redis訪問操作使用

    Redis是一個速度非??斓姆顷P(guān)系數(shù)據(jù)庫(Non-Relational?Database),它可以存儲鍵(Key)與多種不同類型的值(Value)之間的映射(Mapping),可以將存儲在內(nèi)存的鍵值對數(shù)據(jù)持久化到硬盤,可以使用復(fù)制特性來擴(kuò)展讀性能,還可以使用客戶端分片來擴(kuò)展寫性能
    2022-11-11
  • springboot實現(xiàn)調(diào)用百度ocr實現(xiàn)身份識別+二要素校驗功能

    springboot實現(xiàn)調(diào)用百度ocr實現(xiàn)身份識別+二要素校驗功能

    本文介紹了如何使用Spring Boot調(diào)用百度OCR服務(wù)進(jìn)行身份識別,并通過二要素校驗確保信息準(zhǔn)確性,感興趣的朋友一起看看吧
    2025-03-03
  • 淺談JDK7和JDK8的區(qū)別在哪

    淺談JDK7和JDK8的區(qū)別在哪

    面試總是遇到這個問題,做一個小總結(jié),文中有非常詳細(xì)的介紹,對正在學(xué)習(xí)java的小伙伴們很有幫助,需要的朋友可以參考下
    2021-06-06
  • SpringBoot集成swagger的實例代碼

    SpringBoot集成swagger的實例代碼

    Swagger 是一款RESTFUL接口的文檔在線自動生成+功能測試功能軟件,這篇文章主要介紹了SpringBoot集成swagger,需要的朋友可以參考下
    2017-12-12

最新評論

柳江县| 南投市| 江门市| 昭通市| 蓬莱市| 阿拉善左旗| 襄垣县| 深水埗区| 宜阳县| 伊川县| 长垣县| 吉安市| 亳州市| 五原县| 元阳县| 台中市| 东安县| 万荣县| 惠东县| 滨州市| 清苑县| 雷州市| 静安区| 洛扎县| 台山市| 家居| 璧山县| 洪洞县| 南江县| 鹤山市| 乳源| 永城市| 阿巴嘎旗| 金秀| 蒙城县| 象州县| 磴口县| 龙江县| 康定县| 青河县| 交城县|