Java實(shí)現(xiàn)企業(yè)員工管理系統(tǒng)
基于Java的簡單的企業(yè)員工管理系統(tǒng),供大家參考,具體內(nèi)容如下
首先創(chuàng)建了一個(gè)員工類
定義員工應(yīng)有的屬性:工號、姓名、性別、職位、年齡、工資、部門
/** 員工屬性 */?? ? private int sno;//工號 private String name;//姓名 private String sex;//性別 private String job;//職位 private int age;//年齡 private int money;//工資 private String section;//部門
用eclipse快捷鍵Alt+s/快速生成與其屬性get/set方法與Constructor構(gòu)造器
public Emp(int sno, String name, String sex, String job, int age, int money, String section) { ?? ??? ?this.sno = sno; ?? ??? ?this.name = name; ?? ??? ?this.sex = sex; ?? ??? ?this.job = job; ?? ??? ?this.age = age; ?? ??? ?this.money=money; ?? ??? ?this.section = section; ?? ?} ?? ?public int getSno() { ?? ??? ?return sno; ?? ?} ?? ?public void setSno(int sno) { ?? ??? ?this.sno = sno; ?? ?} ?? ?public String getName() { ?? ??? ?return name; ?? ?} ?? ?public void setName(String name) { ?? ??? ?this.name = name; ?? ?} ?? ?public String getSex() { ?? ??? ?return sex; ?? ?} ?? ?public void setSex(String sex) { ?? ??? ?this.sex = sex; ?? ?} ?? ?public String getJob() { ?? ??? ?return job; ?? ?} ?? ?public void setJob(String job) { ?? ??? ?this.job = job; ?? ?} ?? ?public int getAge() { ?? ??? ?return age; ?? ?} ?? ?public void setAge(int age) { ?? ??? ?this.age = age; ?? ?} ?? ?public int getMoney() { ?? ??? ?return money; ?? ?} ?? ?public void setMoney(int money) { ?? ??? ?this.money = money; ?? ?} ?? ?public String getSection() { ?? ??? ?return section; ?? ?} ?? ?public void setSection(String section) { ?? ??? ?this.section = section; ?? ?}
這樣很輕松的就能完成一個(gè)員工類的基本屬性
然后在新建的類中完成對員工屬性的進(jìn)行實(shí)現(xiàn)的方法
通過構(gòu)造器與方法來實(shí)現(xiàn)對員工信息的輸出,員工的各個(gè)屬性通過多個(gè)方法去完成。
我這里定義一個(gè)指定長度的數(shù)組,再通過方法來擴(kuò)大它的容量。
Emp[] list = new Emp[10]; ?? ?/** 初始化數(shù)組的索引 */ ?? ?public int index = 0; ??? ?public void add(Emp s) { ?? ??? ?list[index++] = s; ?? ?}
通過方法能夠輸出員工的屬性
/**對員工信息的輸出*/ ?? ?public void listStu() { ?? ??? ?System.out.println("公民信息:" + "\t" + "工號" + "\t" + "姓名" + "\t" + "性別" + "\t" + "職位" + "\t" + "年齡" + "\t" + "工資" ?? ??? ??? ??? ?+ "\t" + "部門"); ?? ??? ?for (Emp s : list) { ?? ??? ??? ?if (s != null) { ?? ??? ??? ??? ?System.out.println("\t" + s.getSno() + "\t" + s.getName() + "\t" + s.getSex() + "\t" + s.getJob() + "\t" ?? ??? ??? ??? ??? ??? ?+ s.getAge() + "\t" + s.getMoney() + "\t" + s.getSection()); ?? ??? ??? ?} ?? ??? ?} ?? ??? ?System.out.println(); ?? ?}
實(shí)現(xiàn)通過工號對員工進(jìn)行查詢、修改和刪除等操作
/** 根據(jù)工號查詢員工信息 */ ?? ?public Emp findBySno(int sno) { ?? ??? ?for (Emp s : list) { ?? ??? ??? ?if (s != null && s.getSno() == sno) { ?? ??? ??? ??? ?System.out.println( ?? ??? ??? ??? ??? ??? ?s.getName() + "/" + s.getSex() + "/" + s.getJob() + "/" + s.getMoney() + "/" + s.getSection()); ?? ??? ??? ??? ?System.out.println(); ?? ??? ??? ??? ?return s; ?? ??? ??? ?} ?? ??? ?} ?? ??? ?return null; ?? ?} ?? ?/** 根據(jù)工號更改工資 */ ?? ?public void updata(int sno, int money) { ?? ??? ?// 1.查詢出指定工號的員工 ?? ??? ?Emp s = this.findBySno(sno); ?? ??? ?if (s != null) { ?? ??? ??? ?s.setMoney(money); ?? ??? ??? ?System.out.println("您更改員工信息如下:"); ?? ??? ??? ?System.out.println( ?? ??? ??? ??? ??? ?s.getName() + "/" + s.getSex() + "/" + s.getJob() + "/" + s.getMoney() + "/" + s.getSection()); ?? ??? ?} ?? ?} ?? ?/** 移除數(shù)組中指定位置元素 */ ?? ?public Emp remove(int sno) { ?? ??? ?// 獲取需要被移除的元素 ?? ??? ?for (int i = 0; i < list.length; i++) { ?? ??? ??? ?Emp emp = list[i]; ?? ??? ??? ?if (emp != null && emp.getSno() == sno) { ?? ??? ??? ??? ?sno = i;//找到數(shù)組中sno(工號)對應(yīng)的位置并且將此地址號賦給sno(工號) ?? ??? ??? ?} ?? ??? ?} ?? ??? ?/**將找到的sno(工號)對應(yīng)位置用來查找*/ ?? ??? ?Emp s = list[sno];//此時(shí)sno(工號)已經(jīng)換成對應(yīng)數(shù)組中的位置 ?? ??? ?// 將目標(biāo)位置的元素置為0 ?? ??? ?list[sno] = null; ?? ??? ?System.arraycopy(list, sno, list, sno + 1, list.length - (sno + 1)); ?? ??? ?// 索引相應(yīng)減少 ?? ??? ?index--; ?? ??? ?// 將被刪除的元素返回 ?? ??? ?listStu(); ?? ??? ?return s; ?? ?}
這些就是對于員工信息進(jìn)行修飾和條件判斷的代碼
最后創(chuàng)建一個(gè)類來對以上信息進(jìn)行輸出
這個(gè)類通過對象來調(diào)用其他類的方法
// 工號 姓名 性別 職位 年齡 工資 部門 // sno name sex job age money section Emp s1 = new Emp(101, "Tryci", "男", "部門經(jīng)理", 23, 8888, "Java"); Emp s2 = new Emp(102, "張三", "男", "項(xiàng)目經(jīng)理", 21, 7777, "C++"); Emp s3 = new Emp(103, "李四", "男", "部門經(jīng)理", 25, 6666, "前端"); Emp s4 = new Emp(104, "王五", "男", "項(xiàng)目經(jīng)理", 24, 5555, "Java"); Emp s5 = new Emp(105, "趙六", "男", "清潔人員", 22, 4444, "衛(wèi)生"); Principal sm = new Principal(); ?? ??? ?sm.add(s1); ?? ??? ?sm.add(s2); ?? ??? ?sm.add(s3); ?? ??? ?sm.add(s4); ?? ??? ?sm.add(s5); ?? ??? ?sm.listStu(); ?? ??? ?// 根據(jù)工號查詢員工信息? ?? ??? ?System.out.print("您查詢員工信息: "); ?? ??? ?sm.findBySno(101); ?? ??? ?// 將學(xué)號為104的學(xué)生的工資更改 ?? ??? ?sm.updata(104, 6666); ?? ??? ?// 刪除數(shù)組中第某個(gè)元素 ?? ??? ?sm.remove(102);
雖然這樣完成了一個(gè)基本的員工信息管理系統(tǒng),但是包含的內(nèi)容與方法技術(shù)含量很低,也不能通過控制臺等操作來對信息進(jìn)行錄入和修改.
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
從零開始講解Java微信公眾號消息推送實(shí)現(xiàn)
微信公眾號分為訂閱號和服務(wù)號,無論有沒有認(rèn)證,訂閱號每天都能推送一條消息,也就是每天只能推送一次消息給粉絲,這篇文章主要給大家介紹了關(guān)于Java微信公眾號消息推送實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2022-09-09如何把spring boot應(yīng)用發(fā)布到Harbor
這篇文章主要介紹了如何把spring boot應(yīng)用發(fā)布到Harbor,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11java 設(shè)計(jì)模式之依賴倒置實(shí)例詳解
這篇文章主要介紹了java 設(shè)計(jì)模式之依賴倒置,結(jié)合實(shí)例形式詳細(xì)分析了依賴倒置的相關(guān)概念、原理、使用技巧及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-11-11淺談Java實(shí)現(xiàn)面向?qū)ο缶幊蘪ava oop
這篇文章主要介紹了淺談Java實(shí)現(xiàn)面向?qū)ο缶幊蘪ava oop,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07Springboot Vue可配置調(diào)度任務(wù)實(shí)現(xiàn)示例詳解
這篇文章主要為大家介紹了Springboot Vue可配置調(diào)度任務(wù)實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01