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 }