您的位置:首页 > 移动开发 > Objective-C

员工管理系统(集合与IO流的结合使用 beta3.0 BufferedReader / ObjectOutputStream)

2016-10-24 21:08 351 查看
1 Employee.java
2
3 package cn.employee_io;
4
5 public class Employee {
6     private String empId;
7     private String name;
8     private int age;
9     private double salary;
10
11     public Employee() {
12         super();
13     }
14
15     public Employee(String empId, String name, int age, double salary) {
16         super();
17         this.empId = empId;
18         this.name = name;
19         this.age = age;
20         this.salary = salary;
21     }
22
23     public String getEmpId() {
24         return empId;
25     }
26
27     public void setEmpId(String empId) {
28         this.empId = empId;
29     }
30
31     public String getName() {
32         return name;
33     }
34
35     public void setName(String name) {
36         this.name = name;
37     }
38
39     public int getAge() {
40         return age;
41     }
42
43     public void setAge(int age) {
44         this.age = age;
45     }
46
47     public double getSalary() {
48         return salary;
49     }
50
51     public void setSalary(double salary) {
52         this.salary = salary;
53     }
54
55     @Override
56     public int hashCode() {
57         final int prime = 31;
58         int result = 1;
59         result = prime * result + ((empId == null) ? 0 : empId.hashCode());
60         return result;
61     }
62
63     @Override
64     public boolean equals(Object obj) {
65         if (this == obj)
66             return true;
67         if (obj == null)
68             return false;
69         if (getClass() != obj.getClass())
70             return false;
71         Employee other = (Employee) obj;
72         if (empId == null) {
73             if (other.empId != null)
74                 return false;
75         } else if (!empId.equals(other.empId))
76             return false;
77         return true;
78     }
79
80     public String toString() {
81         return empId + "," + name + "," + age+ "," + salary;
82     }
83
84 }
85


1 Service.java
2
3 package cn.employee_io;
4
5 import java.io.BufferedReader;
6 import java.io.File;
7 import java.io.FileOutputStream;
8 import java.io.FileReader;
9 import java.io.IOException;
10 import java.io.ObjectInputStream;
11 import java.io.ObjectOutputStream;
12 import java.util.LinkedList;
13 import java.util.List;
14
15 public class Service {
16     List<Employee> list = new LinkedList<Employee>();
17     File file = null;
18     ObjectInputStream ois = null;
19     ObjectOutputStream oos = null;
20
21     public Service() throws IOException, ClassNotFoundException {
22         reader();
23     }
24
25     /**
26      * 读文件
27      * @throws IOException
28      * @throws ClassNotFoundException
29      */
30     public void reader() throws IOException, ClassNotFoundException {
31     /*    file = new File("src/cn/employee_io/emp.txt");
32         if (!file.exists()) {
33             file.createNewFile();
34         }
35         ois = new ObjectInputStream(new FileInputStream(file));
36         list = (List<Employee>) ois.readObject(); // 给list赋值
37         ois.close();*/
38         BufferedReader br=new BufferedReader(new FileReader("src/cn/employee_io/emp.txt"));
39         String empStr=null;
40         while((empStr=br.readLine())!=null){
41             String[] empStrs=empStr.split(",");
42             list.add(new Employee(empStrs[0],empStrs[1],Integer.parseInt(empStrs[2]),Double.parseDouble(empStrs[3])));
43         }
44         br.close();
45     }
46
47     /**
48      * 写文件
49      * @throws IOException
50      * @throws ClassNotFoundException
51      */
52     public void writer() throws IOException, ClassNotFoundException {
53         file = new File("src/cn/employee_io/emp.txt");
54         if (!file.exists()) {
55             file.createNewFile();
56         }
57         oos = new ObjectOutputStream(new FileOutputStream(file));
58         for(Employee e:list){
59             oos.writeObject(e.toString()+"\r\n"); // 将list值写进文件里去
60         }
61         oos.close();
62     }
63
64     /**
65      * 添加员工
66      * @param e
67      * @throws ClassNotFoundException
68      * @throws IOException
69      */
70     public void add(Employee e) throws ClassNotFoundException, IOException {
71         if (!list.contains(e)) {
72             list.add(e);
73             writer();
74             System.out.println("添加成功!");
75         } else {
76             System.out.println("添加失败!");
77         }
78     }
79
80     /**
81      * 查询所有员工
82      */
83     public void queryAll(){
84         System.out.println("编号          "+"姓名          "+"年龄          "+"薪资");
85         for(Employee e:list){
86             System.out.println(e.getEmpId()+"  "+e.getName()+"  "+e.getAge()+"  "+e.getSalary());
87         }
88     }
89
90     /**
91      * 查询单个员工
92      * @param empId
93      */
94     public void query(String empId){
95         for(int i=0;i<list.size();i++){
96             if(list.get(i).getEmpId().equals(empId)){
97                 System.out.println("编号          "+"姓名          "+"年龄          "+"薪资");
98                 System.out.println(list.get(i).getEmpId()+"  "+list.get(i).getName()+"  "+list.get(i).getAge()+"  "+list.get(i).getSalary());
99             }
100             if((i==list.size()-1)&&(!list.get(i).getEmpId().equals(empId))){
101                 System.out.println("不存在该员工!");
102             }
103         }
104     }
105
106     /**
107      * 删除员工
108      * @throws IOException
109      * @throws ClassNotFoundException
110      */
111     public void delete(String empId) throws ClassNotFoundException, IOException{
112         for(int i=0;i<list.size();i++){
113             if(list.get(i).getEmpId().equals(empId)){
114                 list.remove(list.get(i));
115                 writer();
116                 System.out.println("删除成功!");
117                 break;
118             }
119             if((i==list.size()-1)&&(!list.get(i).getEmpId().equals(empId))){
120                 System.out.println("删除失败!");
121             }
122         }
123     }
124
125     /**
126      * 修改员工
127      * @throws IOException
128      * @throws ClassNotFoundException
129      *
130      */
131     public void update(Employee emp) throws ClassNotFoundException, IOException{
132         for(int i=0;i<list.size();i++){
133             if(list.get(i).getEmpId().equals(emp.getEmpId())){
134                 list.get(i).setName(emp.getName());
135                 list.get(i).setAge(emp.getAge());
136                 list.get(i).setSalary(emp.getSalary());
137                 writer();
138                 System.out.println("修改成功!");
139             }
140             if((i==list.size()-1)&&(!list.get(i).getEmpId().equals(emp.getEmpId()))){
141                 System.out.println("修改失败!");
142             }
143         }
144     }
145 }


1 TestEmp.java
2
3 package cn.employee_io;
4
5 import java.io.IOException;
6 import java.util.Scanner;
7
8 public class TestEmp {
9     static Scanner sc = new Scanner(System.in);
10
11     static String empId;
12     static String name;
13     static int age;
14     static double salary;
15     static int num;
16
17     public static void main(String[] args) throws ClassNotFoundException, IOException {
18         Service s=new Service();
19
20         ok: for (;;) {
21             printOptions();
22             num = sc.nextInt();
23
24             if (num < 1 || num > 6) {
25                 System.out.println("输入有误,将重新开始选择!");
26                 break ok;
27             }
28
29             switch (num) {
30             case 1:
31                 printEmpNo();
32                 printName();
33                 s.add(new Employee(empId,name,age,salary));
34                 break;
35             case 2:
36                 s.queryAll();
37                 break;
38             case 3:
39                 printEmpNo();
40                 s.query(empId);
41                 break;
42             case 4:
43                 printEmpNo();
44                 s.delete(empId);
45                 break;
46             case 5:
47                 printEmpNo();
48                 printName();
49                 s.update(new Employee(empId,name,age,salary));
50                 break;
51             case 6:
52                 return;
53             }
54         }
55     }
56
57     public static void printOptions() {
58         System.out.println("***员工管理系统***");
59         System.out.println("1.添加员工");
60         System.out.println("2.查询所有员工");
61         System.out.println("3.查询员工");
62         System.out.println("4.删除员工");
63         System.out.println("5.修改员工");
64         System.out.println("6.退出");
65         System.out.println("请输入你要进行的操作:");
66     }
67
68     public static void printEmpNo() {
69         System.out.println("请输入员工编号:");
70         empId = sc.next();
71     }
72
73     public static void printName() {
74         System.out.println("请输入员工姓名:");
75         name = sc.next();
76         System.out.println("请输入员工年龄:");
77         age = sc.nextInt();
78         System.out.println("请输入员工薪资:");
79         salary=sc.nextDouble();
80     }
81 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐