Java雇員管理小項(xiàng)目
在學(xué)習(xí)集合框架的時(shí)候,初學(xué)者很容易練習(xí)到學(xué)生管理系統(tǒng)、雇員管理體統(tǒng)等練習(xí)題。在學(xué)習(xí)集合框架之前,基本上Java基本語法都學(xué)完了,集合框架也從側(cè)面的檢驗(yàn)對前面學(xué)習(xí)的理解。下面用一個(gè)曾經(jīng)做過的練習(xí)題,回顧集合框架,以及簡要介紹面向?qū)ο缶幊趟枷?。我發(fā)現(xiàn)舊的知識,當(dāng)你再回頭去看的時(shí)候,理解會更透徹。最近鞏固基礎(chǔ)ing。
工具:記事本,方便編譯和演示
環(huán)境:將代碼放在一個(gè)類當(dāng)中了(這個(gè)習(xí)慣很不好)
目的:回顧知識,理解面向?qū)ο缶幊?/p>
代碼實(shí)例(分四塊,直接用即可)
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)); // 做出一個(gè)簡單的菜單 while (true) { System.out.println("請輸入你要進(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("請輸入編號"); String num = br.readLine(); System.out.println("請輸入名字"); String name = br.readLine(); System.out.println("請輸入工資"); float sal = Float.parseFloat(br.readLine()); // 此時(shí)此刻,經(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.雇員管理類(包括對雇員信息的動(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對象 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.修改員工工資(依照編號來修改工資) // 即,第一個(gè)參數(shù)是編號;第二個(gè)是用戶傳進(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.刪除某個(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)) { // 按編號刪除 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)用其類中的方法即可,而不用操心方法是咋實(shí)現(xiàn)的呀,里面都有哪些函數(shù)呀,這即是很好的面向?qū)ο缶幊趟枷搿?/p>
在dos中編譯的時(shí)候發(fā)現(xiàn),.java文件中所有的類會被分別編譯成.class文件。在使用IDE后,這一點(diǎn)沒注意。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 圖書管理系統(tǒng)java版
- Java+Mysql學(xué)生管理系統(tǒng)源碼
- 一個(gè)簡陋的java圖書管理系統(tǒng)
- 簡單實(shí)現(xiàn)Java版學(xué)生管理系統(tǒng)
- javaWEB實(shí)現(xiàn)相冊管理的簡單功能
- java學(xué)生信息管理系統(tǒng)設(shè)計(jì)
- java聯(lián)系人管理系統(tǒng)簡單設(shè)計(jì)
- java開發(fā)就業(yè)信息管理系統(tǒng)
- Java+MySQL實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)源碼
- java實(shí)現(xiàn)學(xué)籍管理系統(tǒng)
相關(guān)文章
Spring-IOC容器-Bean管理-基于XML方式超詳解
這篇文章主要介紹了Spring為IOC容器Bean的管理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2021-08-08JAVA實(shí)現(xiàn)掃描線算法(超詳細(xì))
掃描線算法就是從Ymin開始掃描,然后構(gòu)建出NET,之后根據(jù)NET建立AET。接下來本文通過代碼給大家介紹JAVA實(shí)現(xiàn)掃描線算法,感興趣的朋友一起看看吧2019-10-10Spring Boot 2.0多數(shù)據(jù)源配置方法實(shí)例詳解
這篇文章主要介紹了Spring Boot 2.0多數(shù)據(jù)源配置方法實(shí)例詳解,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-09-09使用遞歸刪除樹形結(jié)構(gòu)的所有子節(jié)點(diǎn)(java和mysql實(shí)現(xiàn))
下面小編就為大家?guī)硪黄褂眠f歸刪除樹形結(jié)構(gòu)的所有子節(jié)點(diǎn)(java和mysql實(shí)現(xiàn))。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10springboot整合swagger3和knife4j的詳細(xì)過程
knife4j的前身是swagger-bootstrap-ui,取名knife4j是希望她能像一把匕首一樣小巧,輕量,并且功能強(qiáng)悍,下面這篇文章主要介紹了springboot整合swagger3和knife4j的詳細(xì)過程,需要的朋友可以參考下2022-11-11Java中StringBuilder與StringBuffer的區(qū)別
在Java編程中,字符串的拼接是一項(xiàng)常見的操作。為了有效地處理字符串的拼接需求,Java提供了兩個(gè)主要的類:StringBuilder和StringBuffer,本文主要介紹了Java中StringBuilder與StringBuffer的區(qū)別,感興趣的可以了解一下2023-08-08IDEA生成標(biāo)準(zhǔn)JavaBean的幾種方法總結(jié)
標(biāo)準(zhǔn)javaBean是定義一個(gè)類的標(biāo)準(zhǔn)結(jié)構(gòu),下面這篇文章主要給大家總結(jié)介紹了關(guān)于IDEA生成標(biāo)準(zhǔn)JavaBean的幾種方法,文中通過圖文以及代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-03-03Centos7安裝JDK1.8詳細(xì)過程實(shí)戰(zhàn)記錄
這篇文章主要給大家介紹了關(guān)于Centos7安裝JDK1.8的相關(guān)資料,文中通過圖文以及實(shí)例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-09-09