java员工管理系统练习
员工管理系统功能包括:
1、添加新员工;
2、显示某一员工信息;
3、显示所有员工信息;
4、修改员工薪水;
5、删除某一员工。
代码如下:
1 /**日期:2016-03-09
2 * 功能:简单员工管理系统练习
3 * 说明:因为是作为练习,其他要学的东西还有很多,所以没有花时间来编写异常的处理
4 * 仅在主函数中处理了一个异常,其他的都做抛出异常处理
5 */
6 package test;
7 import java.io.*;
8 import java.util.*;
9 public class ManageSystem {
10
11 public static void main(String[] args) throws IOException{
12 // TODO Auto-generated method stub
13
14 HashMap hm=new HashMap();
15 //让程序可以循环进行
16 while(true)
17 {
18 //功能选择
19 System.out.println("请选择要进行的操作:");
20 System.out.println("1表示添加新员工");
21 System.out.println("2表示显示某一员工信息");
22 System.out.println("3表示显示所有员工信息");
23 System.out.println("4表示修改员工薪水");
24 System.out.println("5表示删除某一员工");
25 System.out.println("6表示退出程序");
26 //输入选择编号
27 InputStreamReader isr=new InputStreamReader(System.in);
28 BufferedReader br=new BufferedReader(isr);
29 int inputNum = 0;
30 //异常的处理
31 try
32 {
33 inputNum=Integer.parseInt(br.readLine());
34 }catch(Exception e)
35 {
36 System.out.println("请输入整数1~6");
37 e.printStackTrace();
38 }
39 //根据输入的数字来选择对应的功能
40 switch(inputNum)
41 {
42 case 1:
43 AddClerk addClerk=new AddClerk();
44 addClerk.add(hm);
45 break;
46 case 2:
47 ShowInfo showInfo=new ShowInfo();
48 showInfo.show(hm);
49 break;
50 case 3:
51 ShowAll showAll=new ShowAll();
52 showAll.show(hm);
53 break;
54 case 4:
55 ChangeSalary changeSalary=new ChangeSalary();
56 changeSalary.change(hm);
57 break;
58 case 5:
59 DeleteClerk dc=new DeleteClerk();
60 dc.delete(hm);
61 break;
62 case 6:
63 System.exit(0);
64 break;
65 }
66 }
67 }
68
69 }
70
71 //增加员工
72 class AddClerk
73 {
74 public void add(HashMap hm) throws IOException
75 {
76 System.out.println("请输入要添加的员工编号:");
77 InputStreamReader isr=new InputStreamReader(System.in);
78 BufferedReader br=new BufferedReader(isr);
79 Clerk clerk=new Clerk();
80 String temp=br.readLine();
81 //这里作简化处理,直接将HashMap的键设置为员工的编号
82 clerk.setClerkNo(temp);
83 //然后输入姓名
84 System.out.println("请输入要添加的员工姓名:");
85 clerk.setName(br.readLine());
86 //最后输入薪水
87 System.out.println("请输入要添加的员工薪水:");
88 clerk.setSalary(Integer.parseInt(br.readLine()));
89 //将设置好编号、姓名、薪水的一个Clerk添加入hm中
90 hm.put(temp,clerk);
91 System.out.println("添加成功:"
92 +((Clerk)(hm.get(temp))).getClerkNo()+","
93 +((Clerk)(hm.get(temp))).getName()+","
94 +((Clerk)(hm.get(temp))).getSalary()+"\n");
95 }
96 }
97
98 //显示某一个员工的信息
99 class ShowInfo
100 {
101 public void show(HashMap hm) throws IOException
102 {
103 System.out.println("请输入要查找的员工编号:");
104 InputStreamReader isr=new InputStreamReader(System.in);
105 BufferedReader br=new BufferedReader(isr);
106 String temp=br.readLine();
107 //判断是否含有该员工
108 if(hm.containsKey(temp))
109 {
110 System.out.println("该员工的信息为:"
111 +((Clerk)(hm.get(temp))).getClerkNo()+","
112 +((Clerk)(hm.get(temp))).getName()+","
113 +((Clerk)(hm.get(temp))).getSalary());
114 }else
115 {
116 System.out.println("没有该员工!");
117 }
118 System.out.println();
119 }
120 }
121
122 //显示所有员工的信息
123 class ShowAll
124 {
125 public void show(HashMap hm)
126 {
127 //HashMap的遍历较麻烦,需要迭代器
128 Iterator it=hm.keySet().iterator();
129 int i=1;
130 while(it.hasNext())
131 {
132 String key=it.next().toString();
133 Clerk clerk=(Clerk)hm.get(key);
134 System.out.println("第"+i+"个员工的信息为:"
135 +clerk.getClerkNo()+","
136 +clerk.getName()+","
137 +clerk.getSalary());
138 i++;
139 }
140 System.out.println();
141 }
142 }
143
144 //修改某一个员工的薪水
145 class ChangeSalary
146 {
147 public void change(HashMap hm) throws IOException
148 {
149 System.out.println("请输入要修改的员工编号:");
150 InputStreamReader isr=new InputStreamReader(System.in);
151 BufferedReader br=new BufferedReader(isr);
152 String temp=br.readLine();
153 if(hm.containsKey(temp))
154 {
155 //先显示出该员工的薪水
156 System.out.println("该员工当前薪水为:"+((Clerk)(hm.get(temp))).getSalary());
157 System.out.println("请输入新的薪水:");
158 //然后输入新的薪水
159 int inputNum=Integer.parseInt(br.readLine());
160 //将该员工的薪水设置为新输入的薪水
161 ((Clerk)(hm.get(temp))).setSalary(inputNum);
162 //输入修改后的该员工的信息
163 System.out.println("修改后员工的信息为:"
164 +((Clerk)(hm.get(temp))).getClerkNo()+","
165 +((Clerk)(hm.get(temp))).getName()+","
166 +((Clerk)(hm.get(temp))).getSalary());
167 }else
168 {
169 System.out.println("没有该员工!");
170 }
171 System.out.println();
172 }
173 }
174
175 //删除一个员工
176 class DeleteClerk
177 {
178 public void delete(HashMap hm) throws IOException
179 {
180 System.out.println("请输入要删除的员工编号:");
181 InputStreamReader isr=new InputStreamReader(System.in);
182 BufferedReader br=new BufferedReader(isr);
183 String temp=br.readLine();
184 if(hm.containsKey(temp))
185 {
186 //将该员工的Clerk对象从hm中删除
187 hm.remove(temp);
188 System.out.println("已删除该员工!");
189 }else
190 {
191 System.out.println("没有该员工!");
192 }
193 System.out.println();
194 }
195 }
196
197 //创建Clerk类
198 class Clerk
199 {
200 private String clerkNo;
201 private String name;
202 private int salary;
203
204 public String getClerkNo() {
205 return clerkNo;
206 }
207 public void setClerkNo(String clerkNo) {
208 this.clerkNo = clerkNo;
209 }
210 public String getName() {
211 return name;
212 }
213 public void setName(String name) {
214 this.name = name;
215 }
216 public int getSalary() {
217 return salary;
218 }
219 public void setSalary(int salary) {
220 this.salary = salary;
221 }
222 }
运行演示结果如下:
1 请选择要进行的操作:
2 1表示添加新员工
3 2表示显示某一员工信息
4 3表示显示所有员工信息
5 4表示修改员工薪水
6 5表示删除某一员工
7 6表示退出程序
8 1
9 请输入要添加的员工编号:
10 s001
11 请输入要添加的员工姓名:
12 Mike
13 请输入要添加的员工薪水:
14 1000
15 添加成功:s001,Mike,1000
16
17 请选择要进行的操作:
18 1表示添加新员工
19 2表示显示某一员工信息
20 3表示显示所有员工信息
21 4表示修改员工薪水
22 5表示删除某一员工
23 6表示退出程序
24 1
25 请输入要添加的员工编号:
26 s002
27 请输入要添加的员工姓名:
28 Jack
29 请输入要添加的员工薪水:
30 1100
31 添加成功:s002,Jack,1100
32
33 请选择要进行的操作:
34 1表示添加新员工
35 2表示显示某一员工信息
36 3表示显示所有员工信息
37 4表示修改员工薪水
38 5表示删除某一员工
39 6表示退出程序
40 1
41 请输入要添加的员工编号:
42 s003
43 请输入要添加的员工姓名:
44 Rose
45 请输入要添加的员工薪水:
46 1200
47 添加成功:s003,Rose,1200
48
49 请选择要进行的操作:
50 1表示添加新员工
51 2表示显示某一员工信息
52 3表示显示所有员工信息
53 4表示修改员工薪水
54 5表示删除某一员工
55 6表示退出程序
56 2
57 请输入要查找的员工编号:
58 s001
59 该员工的信息为:s001,Mike,1000
60
61 请选择要进行的操作:
62 1表示添加新员工
63 2表示显示某一员工信息
64 3表示显示所有员工信息
65 4表示修改员工薪水
66 5表示删除某一员工
67 6表示退出程序
68 3
69 第1个员工的信息为:s001,Mike,1000
70 第2个员工的信息为:s002,Jack,1100
71 第3个员工的信息为:s003,Rose,1200
72
73 请选择要进行的操作:
74 1表示添加新员工
75 2表示显示某一员工信息
76 3表示显示所有员工信息
77 4表示修改员工薪水
78 5表示删除某一员工
79 6表示退出程序
80 4
81 请输入要修改的员工编号:
82 s001
83 该员工当前薪水为:1000
84 请输入新的薪水:
85 1400
86 修改后员工的信息为:s001,Mike,1400
87
88 请选择要进行的操作:
89 1表示添加新员工
90 2表示显示某一员工信息
91 3表示显示所有员工信息
92 4表示修改员工薪水
93 5表示删除某一员工
94 6表示退出程序
95 3
96 第1个员工的信息为:s001,Mike,1400
97 第2个员工的信息为:s002,Jack,1100
98 第3个员工的信息为:s003,Rose,1200
99
100 请选择要进行的操作:
101 1表示添加新员工
102 2表示显示某一员工信息
103 3表示显示所有员工信息
104 4表示修改员工薪水
105 5表示删除某一员工
106 6表示退出程序
107 5
108 请输入要删除的员工编号:
109 s001
110 已删除该员工!
111
112 请选择要进行的操作:
113 1表示添加新员工
114 2表示显示某一员工信息
115 3表示显示所有员工信息
116 4表示修改员工薪水
117 5表示删除某一员工
118 6表示退出程序
119 3
120 第1个员工的信息为:s002,Jack,1100
121 第2个员工的信息为:s003,Rose,1200
122
123 请选择要进行的操作:
124 1表示添加新员工
125 2表示显示某一员工信息
126 3表示显示所有员工信息
127 4表示修改员工薪水
128 5表示删除某一员工
129 6表示退出程序
130 6
2016-03-08 23:15 PistonType