Java雇員管理小項(xiàng)目
在學(xué)習(xí)集合框架的時候,初學(xué)者很容易練習(xí)到學(xué)生管理系統(tǒng)、雇員管理體統(tǒng)等練習(xí)題。在學(xué)習(xí)集合框架之前,基本上Java基本語法都學(xué)完了,集合框架也從側(cè)面的檢驗(yàn)對前面學(xué)習(xí)的理解。下面用一個曾經(jīng)做過的練習(xí)題,回顧集合框架,以及簡要介紹面向?qū)ο缶幊趟枷搿N野l(fā)現(xiàn)舊的知識,當(dāng)你再回頭去看的時候,理解會更透徹。最近鞏固基礎(chǔ)ing。
工具:記事本,方便編譯和演示
環(huán)境:將代碼放在一個類當(dāng)中了(這個習(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));
// 做出一個簡單的菜單
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)用其類中的方法即可,而不用操心方法是咋實(shí)現(xiàn)的呀,里面都有哪些函數(shù)呀,這即是很好的面向?qū)ο缶幊趟枷搿?/p>

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 圖書管理系統(tǒng)java版
- Java+Mysql學(xué)生管理系統(tǒng)源碼
- 一個簡陋的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)文章
詳解@ConditionalOnMissingBean注解的作用
這篇文章主要介紹了詳解@ConditionalOnMissingBean注解的作用,@ConditionalOnMissingBean,它是修飾bean的一個注解,主要實(shí)現(xiàn)的是,當(dāng)你的bean被注冊之后,如果而注冊相同類型的bean,就不會成功,它會保證你的bean只有一個,需要的朋友可以參考下2023-10-10
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的用法進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-02-02
springboot+redis+lua實(shí)現(xiàn)分布式鎖的腳本
本文介紹了如何使用Spring Boot、Redis和Lua腳本實(shí)現(xiàn)分布式鎖,包括實(shí)現(xiàn)原理、代碼實(shí)現(xiàn)和存在的問題,感興趣的朋友跟隨小編一起看看吧2024-11-11
java設(shè)計(jì)模式學(xué)習(xí)之代理模式
這篇文章主要為大家詳細(xì)介紹了java設(shè)計(jì)模式學(xué)習(xí)之代理模式的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-10-10
springboot實(shí)現(xiàn)調(diào)用百度ocr實(shí)現(xiàn)身份識別+二要素校驗(yàn)功能
本文介紹了如何使用Spring Boot調(diào)用百度OCR服務(wù)進(jìn)行身份識別,并通過二要素校驗(yàn)確保信息準(zhǔn)確性,感興趣的朋友一起看看吧2025-03-03

