超實用 2 ArrayList連結串列之 員工工資管理系統

範銘祥發表於2015-04-08
  1 package ArrayList的小程式;
  2 import java.io.*;
  3 import java.util.*;
  4 public class kkk {
  5 
  6     /**
  7      * 作者:Mr.fan
  8      * 功能:展示一個小的ArrayList連結串列的 員工工資記錄系統
  9      */
 10     public static void main(String[] args)throws Exception 
 11     {
 12         //建立EmpManage物件
 13         EmpManage em=new EmpManage();
 14         BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
 15         //作出一個簡易選單
 16         while(true)
 17         {
 18             System.out.println("請選擇你要進行的操作");
 19             System.out.println("1:表示新增一個僱員");
 20             System.out.println("2:查詢一個僱員");
 21             System.out.println("3:修改一個僱員的工資");
 22             System.out.println("4:刪除一個僱員");
 23             System.out.println("5:退出系統");
 24             System.out.println("6:顯示出所有員工的資訊");
 25             
 26             String operType=br.readLine();
 27             
 28             if(operType.equals("1"))
 29             {
 30                 System.out.println("請輸入編號:");
 31                 String empNo=br.readLine();
 32                 System.out.println("請輸入名字:");
 33                 String name=br.readLine();
 34                 System.out.println("請輸入工資:");
 35                 float sal=Float.parseFloat(br.readLine());//再次看到這個 還是覺得叼叼的 很方便
 36                 
 37                 Emp emp=new Emp(empNo,name,sal); 
 38                 
 39                 em.addEmp(emp);
 40             }
 41             else if(operType.equals("2"))
 42             {
 43                 System.out.println("請輸入編號:");
 44                 String empNo=br.readLine();
 45                 
 46                 em.showInfo(empNo);
 47             }
 48             else if(operType.equals("3"))
 49             {
 50                 System.out.println("請輸入要修改工資的員工編號:");
 51                 String gaiNO=br.readLine();
 52                 System.out.println("請輸入修改後工資:");
 53                 float gaiSAL=Float.parseFloat(br.readLine());
 54                 em.updateSal(gaiNO,gaiSAL);
 55             }
 56             else if(operType.equals("4"))
 57             {
 58                 System.out.println("請輸入要刪除員工的編號:");
 59                 String NOdel=br.readLine();
 60                 em.delEmp(NOdel);
 61             }
 62             else if(operType.equals("5"))
 63             {
 64                 //退出系統
 65                 System.exit(0);
 66             }
 67             else if(operType.equals("6"))
 68             {
 69                 ArrayList nx=em.getal();
 70                 for(int i=0;i<nx.size();i++)
 71                 {
 72                     //取出Emp物件
 73                     Emp emp=(Emp)nx.get(i);
 74         
 75                     System.out.print("編號="+emp.getEmpNo());
 76                     System.out.print("  名字="+emp.getName());
 77                     System.out.print("  工資="+emp.getSal());
 78                     System.out.println("\n");
 79                     
 80                 }
 81             }
 82         }
 83     }
 84 
 85 }
 86 //採用物件導向 封裝思想 來建造一個僱員管理類
 87 class EmpManage
 88 {
 89 /*封裝思想都會採用 保護 */    private ArrayList al=null;
 90     public EmpManage()//構造
 91     {
 92         al=new ArrayList();
 93     }
 94     //加入員工
 95     public void addEmp(Emp emp)
 96     {
 97         al.add(emp);
 98     }
 99     //顯示員工的相關資訊
100     public void showInfo(String empNo)
101     {
102         //遍歷整個ArrayList
103         for(int i=0;i<al.size();i++)
104         {
105             //取出Emp物件
106             Emp emp=(Emp)al.get(i);
107             //比較編號
108             if(emp.getEmpNo().equals(empNo))
109             {
110                 System.out.println("找到該員工,他的資訊是:");
111                 System.out.println("編號="+empNo);
112                 System.out.println("名字="+emp.getName());
113                 System.out.println("工資="+emp.getSal());
114             }
115         }
116     }
117     public void updateSal(String empNo,float newSal)
118     {
119         for(int i=0;i<al.size();i++)
120         {
121             Emp emp=(Emp)al.get(i);
122             if(emp.getEmpNo().equals(empNo))
123             {
124                 //修改薪水
125                 emp.setSal(newSal);
126             }
127         }
128     }
129     public void delEmp(String empNo)
130     {
131         for(int i=0;i<al.size();i++)
132         {
133             Emp emp=(Emp)al.get(i);
134             if(emp.getEmpNo().equals(empNo))
135             {
136                 al.remove(i);
137             }
138         }
139     }
140     public ArrayList getal()
141     {
142         return al;
143     }
144 }
145 class Emp
146 {
147 
148     private String empNo;
149     private String name;
150     private float sal;
151     public Emp(String empNo,String name,float sal)
152     {
153         this.empNo=empNo;
154         this.name=name;
155         this.sal=sal;
156     }
157     public String getEmpNo() {
158         return empNo;
159     }
160     public void setEmpNo(String empNo) {
161         this.empNo = empNo;
162     }
163     public String getName() {
164         return name;
165     }
166     public void setName(String name) {
167         this.name = name;
168     }
169     public float getSal() {
170         return sal;
171     }
172     public void setSal(float sal) {
173         this.sal = sal;
174     }
175 }

 

相關文章