ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java面向过程实现员工管理系统(利用集合存储数据实现员工增删改查排序)

2022-07-17 20:35:21  阅读:140  来源: 互联网

标签:Java sta int 改查 System 员工 println else out


 

界面:

 1 package staffSystem;
 2 
 3 import java.util.Scanner;
 4 
 5 /**
 6  * 交互界面
 7  * @author 123
 8  *
 9  */
10 public class Surface {
11 
12     public static void main(String[] args) {
13 
14 //        Staff sta = new Staff();
15 //        Model mode = new Model();
16         Scanner scan = new Scanner(System.in);
17 //        int index=0;
18         
19         menu(scan);
20         scan.close();
21         
22     }
23     public static void menu(Scanner scan) {
24         while (true) {
25             
26             System.out.println("******************员工管理系统******************");
27             System.out.println("1--添加员工   2--修改员工   3--查询员工");
28             System.out.println("4--删除员工   5--员工排名   6--退出系统 ");
29             System.out.println("************************************************");
30             System.out.println("请输入序号进行操作(1-6):");
31             int n = scan.nextInt();
32             if (n == 1) {
33                 Model.addEmp();//添加
34             } else if (n == 2) {
35                 Model.setEmp();//修改
36             } else if (n == 3) {
37                 Model.search();//查询
38             } else if (n == 4) {
39                 Model.remove();//删除
40             } else if (n == 5) {
41                 Model.sort();//排序
42             } else if (n == 6) {
43                 break;
44             } else {
45                 System.out.println("输入不合法!请重新输入!");
46             }
47             
48         }
49         System.out.println("已退出系统!!!");
50         
51     }
52     public static void search1() {
53         System.out.println("此员工不存在!");
54         System.out.println();
55         System.out.println("请选择选项:");
56         System.out.println("1--重新查询   2--返回主界面");
57     }
58 }

 

员工类:

 1 package staffSystem;
 2 
 3 /**
 4  * 员工类
 5  * 
 6  * @author 123
 7  *
 8  */
 9 public class Staff {
10 
11     private String name;// 员工姓名
12     private int id;// 员工号
13     private String sex;// 员工性别
14     private int age;// 员工年龄
15     private float salary;// 工资
16 
17     public Staff() {
18 
19     }
20 
21     public Staff(Integer id, String name, String sex, Integer age, Integer salary) {
22         this.id = id;
23         this.name = name;
24         this.age = age;
25         this.sex = sex;
26         this.salary = salary;
27     }
28 
29     public void setSex(String sex) {
30         this.sex = sex;
31     }
32 
33     public String getName() {
34         return name;
35     }
36 
37     public void setName(String name) {
38         this.name = name;
39     }
40 
41     public int getId() {
42         return id;
43     }
44 
45     public void setId(int id) {
46         this.id = id;
47     }
48 
49     public String getSex() {
50         return sex;
51     }
52 
53     public int getAge() {
54         return age;
55     }
56 
57     public void setAge(int age) {
58         this.age = age;
59     }
60 
61     public float getSalary() {
62         return salary;
63     }
64 
65     public void setSalary(float salary) {
66         this.salary = salary;
67     }
68 
69     @Override
70     public String toString() {//方便查看员工信息
71         return "员工号:" + id +"\t姓名:" + name +  "\t性别:" + sex + "\t年龄:" + age + "\t工资:" + salary;
72     }
73     
74 
75 }

 

功能实现:

  1 package staffSystem;
  2 
  3 import java.util.ArrayList;
  4 import java.util.Scanner;
  5 
  6 /**
  7  * 对象模型类
  8  * 
  9  * @author 123
 10  *
 11  */
 12 public class Model {
 13 
 14     static ArrayList<Staff> sta = new ArrayList<>();
 15     static {// 初始化
 16         Staff sta1 = new Staff(1, "张三", "女", 18, 5000);
 17         Staff sta2 = new Staff(2, "李四", "男", 23, 8000);
 18         Staff sta3 = new Staff(3, "王五", "男", 26, 6500);
 19 //        Staff sta4 = new Staff(67, "李5四", "男", 23, 56);
 20 //        Staff sta5 = new Staff(7, "王7五", "男", 26, 12000);
 21         sta.add(sta1);
 22         sta.add(sta2);
 23         sta.add(sta3);
 24 //        sta.add(sta4);
 25 //        sta.add(sta5);
 26     }
 27 
 28     /**
 29      * 查询员工信息
 30      */
 31     public static void search() {
 32         boolean t = true;
 33         while (t) {
 34             System.out.println("**********员工信息表**********");
 35             for (int i = 0; i < sta.size(); i++) {
 36                 System.out.println("工号:" + sta.get(i).getId() + " \t" + "姓名:" + sta.get(i).getName());
 37             }
 38             System.out.println("请选择查询员工方式:");
 39             System.out.println("1--按员工姓名查找    2--按员工工号查找    3--返回主界面");
 40             Scanner scan1 = new Scanner(System.in);
 41             int n = scan1.nextInt();
 42             if (n == 1) {
 43                 int a = 0;
 44                 System.out.println("请输入要查询的员工名字:");
 45                 String name = scan1.next();
 46                 for (int i = 0; i < sta.size(); i++) {
 47                     if (name.equals(sta.get(i).getName())) {
 48                         System.out.println(sta.get(i));
 49                         System.out.println("查询成功!");
 50                         System.out.println();
 51                         System.out.println("1--继续查询    2--返回主界面");
 52                         int y1 = scan1.nextInt();
 53                         if (y1 == 1) {
 54                             a = 1;
 55                         } else if (y1 == 2) {
 56                             a = 1;
 57                             t = false;
 58                         } else {
 59                             System.out.println("输入不合法!已退出查询!");
 60                             System.out.println("******************************");
 61                             a = 1;
 62                             t = false;
 63                         }
 64                     }
 65                 }
 66                 if (a == 0) {
 67                     Surface.search1();
 68                     int n1 = scan1.nextInt();
 69                     while (true) {
 70                         if (n1 == 1) {
 71                             break;
 72                         } else if (n1 == 2) {
 73                             t = false;
 74                             break;
 75                         } else {
 76                             System.out.println("输入错误!请重新输入!");
 77                             n1 = scan1.nextInt();
 78                         }
 79                     }
 80                 }
 81             } else if (n == 2) {
 82                 int a1 = 0;
 83                 System.out.println("请输入要查询的员工工号:");
 84                 int id = scan1.nextInt();
 85                 for (int i = 0; i < sta.size(); i++) {
 86                     if (id == sta.get(i).getId()) {
 87                         System.out.println(sta.get(i));
 88                         System.out.println("查询成功!");
 89                         System.out.println();
 90                         System.out.println("1--继续查询    2--返回主界面");
 91                         int y = scan1.nextInt();
 92                         if (y == 1) {
 93                             a1 = 1;
 94                         } else if (y == 2) {
 95                             a1 = 1;
 96                             t = false;
 97                         } else {
 98                             System.out.println("输入不合法!已退出查询!");
 99                             System.out.println("******************************");
100                             a1 = 1;
101                             t = false;
102                         }
103                     }
104                 }
105                 if (a1 == 0) {
106                     Surface.search1();
107                     int n1 = scan1.nextInt();
108                     while (true) {
109                         if (n1 == 1) {
110                             break;
111                         } else if (n1 == 2) {
112                             t = false;
113                             break;
114                         } else {
115                             System.out.println("输入错误!请重新输入!");
116                             n1 = scan1.nextInt();
117                         }
118                     }
119                 }
120             } else if (n == 3) {
121                 t = false;
122             } else {
123                 System.out.println("输入不合法!请重新输入!");
124                 System.out.println("******************************");
125             }
126         }
127     }
128 
129     /**
130      * 添加员工信息
131      */
132     public static void addEmp() {
133         boolean t = true;
134         while (t) {
135             Scanner scan3 = new Scanner(System.in);
136 
137             System.out.print("请输入员工工号:");
138             int addid = scan3.nextInt();
139             System.out.print("请输入员工姓名:");
140             String addname = scan3.next();
141             System.out.print("请输入员工性别:");
142             String addsex = scan3.next();
143             System.out.print("请输入员工年龄:");
144             int addage = scan3.nextInt();
145             System.out.print("请输入员工工资:");
146             float addsalary = scan3.nextFloat();
147 
148             boolean b = true;
149             for (int i = 0; i < sta.size(); i++) {
150                 if (sta.get(i).getId() == addid) {
151                     b = false;
152                     break;
153                 }
154             }
155             if (b) {
156                 Staff staff = new Staff();
157                 staff.setId(addid);
158                 staff.setName(addname);
159                 staff.setSex(addsex);
160                 staff.setAge(addage);
161                 staff.setSalary(addsalary);
162                 sta.add(staff);
163                 System.out.println("员工添加成功!");
164                 System.out.println("1--继续添加    2--返回主界面");
165                 System.out.println("******************************");
166                 int y = scan3.nextInt();
167                 if (y == 1) {
168 
169                 } else if (y == 2) {
170                     t = false;
171                 } else {
172                     System.out.println("输入不合法!已退出添加!");
173                     System.out.println("******************************");
174                     t = false;
175                 }
176             } else {
177                 System.out.println("添加失败!请不要重复添加!");
178                 System.out.println("1--继续添加    2--返回主界面");
179                 System.out.println("******************************");
180                 int y1 = scan3.nextInt();
181                 if (y1 == 1) {
182 
183                 } else if (y1 == 2) {
184                     t = false;
185                 } else {
186                     System.out.println("输入不合法!已退出添加!");
187                     System.out.println("******************************");
188                     t = false;
189                 }
190             }
191         }
192     }
193 
194     /**
195      * 删除员工信息
196      */
197     public static void remove() {
198         boolean t = true;
199         while (t) {
200             System.out.println("**********员工信息表**********");
201             for (int i = 0; i < sta.size(); i++) {
202                 System.out.println("工号:" + sta.get(i).getId() + "\t" + "姓名:" + sta.get(i).getName());
203             }
204             System.out.println("请选择要删除的员工工号:");
205             Scanner scan4 = new Scanner(System.in);
206             int id = scan4.nextInt();
207             for (int i = 0; i < sta.size(); i++) {
208                 if (sta.get(i).getId() == id) {
209                     System.out.println("是否删除此人?");
210                     System.out.println("1--是   2--否   3--返回主界面");
211                     int a = scan4.nextInt();
212                     if (a == 1) {
213                         sta.remove(i);
214                         System.out.println("删除成功!!");
215                         System.out.println("1--继续删除    2--返回主界面");
216                         System.out.println("******************************");
217                         int y = scan4.nextInt();
218                         while (true) {
219                             if (y == 1) {
220                                 break;
221                             } else if (y == 2) {
222                                 t = false;
223                                 break;
224                             } else {
225                                 System.out.println("输入错误,请重新输入!");
226                             }
227                         }
228                         break;
229                     } else if (a == 2) {
230                         System.out.println("已取消删除!");
231                         System.out.println("********************");
232                         break;
233                     } else if (a == 3) {
234                         t = false;
235                         break;
236                     } else {
237                         System.out.println("输入错误!请重新输入!");
238                         System.out.println("********************");
239                         i--;
240                     }
241                 } else if (i == sta.size() - 1) {
242                     System.out.println("输入工号错误,没有此员工!");
243                     System.out.println("1--重新输入    2--返回主界面");
244                     System.out.println("******************************");
245                     int a1 = scan4.nextInt();
246                     if (a1 == 1) {
247 
248                     } else if (a1 == 2) {
249                         t = false;
250                     } else {
251                         System.out.println("输入错误!已退出删除程序");
252                         t = false;
253                     }
254                 }
255             }
256         }
257     }
258 
259     /**
260      * 修改员工信息
261      */
262     public static void setEmp() {
263         boolean t = true;
264         while (t) {
265             System.out.println("**********员工信息表**********");
266             for (int i = 0; i < sta.size(); i++) {
267                 System.out.println("工号:" + sta.get(i).getId() + "\t" + "姓名:" + sta.get(i).getName());
268             }
269             System.out.println("请选择要修改的员工工号:");
270             Scanner scan5 = new Scanner(System.in);
271             int id = scan5.nextInt();
272             for (int i = 0; i < sta.size(); i++) {
273                 if (sta.get(i).getId() == id) {
274                     int w = 0;
275                     System.out.println("是否修改此人?");
276                     System.out.println("1--是   2--否   3--返回主界面");
277                     int a = scan5.nextInt();
278                     if (a == 1) {
279 
280                         System.out.print("请输入员工工号:");
281                         int addid = scan5.nextInt();
282                         System.out.print("请输入员工姓名:");
283                         String addname = scan5.next();
284                         System.out.print("请输入员工性别:");
285                         String addsex = scan5.next();
286                         System.out.print("请输入员工年龄:");
287                         int addage = scan5.nextInt();
288                         System.out.print("请输入员工工资:");
289                         float addsalary = scan5.nextFloat();
290 
291                         for (int j = 0; j < sta.size(); j++) {
292                             if (j == i) {
293                                 continue;
294                             }
295                             if (addid == sta.get(j).getId()) {
296                                 w = 1;
297                             }
298                         }
299                         if (w == 0) {
300                             sta.remove(i);
301                             Staff staff = new Staff();
302                             staff.setId(addid);
303                             staff.setName(addname);
304                             staff.setSex(addsex);
305                             staff.setAge(addage);
306                             staff.setSalary(addsalary);
307                             sta.add(i, staff);
308                             System.out.println("员工修改成功!");
309                             System.out.println("1--继续修改    2--返回主界面");
310                             System.out.println("******************************");
311                             int y = scan5.nextInt();
312                             if (y == 1) {
313                                 break;
314                             } else if (y == 2) {
315                                 t = false;
316                                 break;
317                             } else {
318                                 System.out.println("输入不合法!已退出修改!");
319                                 System.out.println("******************************");
320                                 t = false;
321                                 break;
322                             }
323                         }
324 
325                     } else if (a == 2) {
326                         System.out.println("已取消修改!");
327                         System.out.println("********************");
328                         break;
329                     } else if (a == 3) {
330                         t = false;
331                         break;
332                     } else {
333                         System.out.println("输入错误!请重新输入!");
334                         System.out.println("********************");
335                         break;
336                     }
337 
338                     if (w == 1) {
339                         System.out.println("工号重复,请重新输入!");
340                         System.out.println("*************************");
341                         break;
342                     }
343                 } else if (i == sta.size() - 1) {
344                     System.out.println("输入工号错误,没有此员工!");
345                     System.out.println("1--重新输入    2--返回主界面");
346                     System.out.println("******************************");
347                     int a1 = scan5.nextInt();
348                     if (a1 == 1) {
349 
350                     } else if (a1 == 2) {
351                         t = false;
352                     } else {
353                         System.out.println("输入错误!已退出修改程序");
354                         t = false;
355                     }
356                 }
357             }
358         }
359     }
360 
361     /**
362      * 对员工进行排序
363      */
364     public static void sort() {
365         boolean t = true;
366         while (t) {
367             System.out.println("请选择要排序的方式:");
368             System.out.println("1--按工号进行排序    2--按工资进行排序    3--返回主界面");
369             System.out.println("******************************");
370             Scanner scan6 = new Scanner(System.in);
371             int n = scan6.nextInt();
372             if (n == 1) {
373                 System.out.println("工号从小到大排序:");
374                 System.out.println("**********员工信息表**********");
375                 Staff staff = new Staff();
376 
377                 for (int i = 0; i < sta.size() - 1; i++) {// 按照工号从小到大排序
378                     int min = sta.get(i).getId();
379                     for (int x = i + 1; x < sta.size(); x++) {
380                         if (sta.get(x).getId() < min) {
381                             int k = 0;
382                             for (int j = 0; j < x; j++) {
383                                 if (sta.get(j).getId() == min) {
384                                     k = j;
385                                     break;
386                                 }
387                             }
388                             staff = sta.get(k);
389                             sta.set(k, sta.get(x));
390                             sta.set(x, staff);
391                         }
392                     }
393                 }
394                 for (int i = 0; i < sta.size(); i++) {
395                     System.out.println(sta.get(i));
396                 }
397                 System.out.println();
398                 System.out.println("员工排序成功!");
399                 System.out.println("1--继续排序    2--返回主界面");
400                 System.out.println("******************************");
401                 int y1 = scan6.nextInt();
402                 while (true) {
403                     if (y1 == 1) {
404                         break;
405                     } else if (y1 == 2) {
406                         t = false;
407                         break;
408                     } else {
409                         System.out.println("输入错误,请重新输入!");
410                     }
411                 }
412             } else if (n == 2) {
413                 System.out.println("工资从小到大排序:");
414                 System.out.println("**********员工信息表**********");
415                 Staff staff = new Staff();
416                 for (int i = 0; i < sta.size() - 1; i++) {// 按照工资从小到大排序
417                     for (int x = 0; x < sta.size() - 1 - i; x++) {
418                         if (sta.get(x).getSalary() > sta.get(x + 1).getSalary()) {// 冒泡排序
419                             staff = sta.get(x);
420                             sta.set(x, sta.get(x + 1));
421                             sta.set(x + 1, staff);
422                         }
423                     }
424                 }
425                 for (int i = 0; i < sta.size(); i++) {
426                     System.out.println(sta.get(i));
427                 }
428                 System.out.println();
429                 System.out.println("员工排序成功!");
430                 System.out.println("1--继续排序    2--返回主界面");
431                 System.out.println("******************************");
432                 int y = scan6.nextInt();
433                 while (true) {
434                     if (y == 1) {
435                         break;
436                     } else if (y == 2) {
437                         t = false;
438                         break;
439                     } else {
440                         System.out.println("输入错误,请重新输入!");
441                     }
442                 }
443             } else if (n == 3) {
444                 t = false;
445             } else {
446                 System.out.println("输入错误!请重新输入!");
447                 System.out.println();
448             }
449 
450         }
451     }
452 
453 }
View Code

 

输出结果:

 

 

 

 

 

 

 

标签:Java,sta,int,改查,System,员工,println,else,out
来源: https://www.cnblogs.com/ybw9296-blog/p/16488255.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有