zoukankan      html  css  js  c++  java
  • 员工管理系统(集合与IO流的结合使用 beta5.0 BufferedReader/ BufferedWriter)

     1 package cn.gee;
     2 
     3 public class Emp {
     4     private String id;//员工编号  一般是唯一的
     5     private String sname;
     6     private int age;
     7     private float  salary;
     8     
     9     public Emp(){
    10         
    11     }
    12     
    13     
    14     public Emp(String id, String sname, int age, float salary) {
    15         super();
    16         this.id = id;
    17         this.sname = sname;
    18         this.age = age;
    19         this.salary = salary;
    20     }
    21 
    22     
    23     
    24 
    25     @Override
    26     public String toString() {
    27         return id+","+sname+","+ age + "," + salary;
    28     }
    29 
    30 
    31     public String getId() {
    32         return id;
    33     }
    34     public void setId(String id) {
    35         this.id = id;
    36     }
    37     public String getSname() {
    38         return sname;
    39     }
    40     public void setSname(String sname) {
    41         this.sname = sname;
    42     }
    43     public int getAge() {
    44         return age;
    45     }
    46     public void setAge(int age) {
    47         this.age = age;
    48     }
    49     public float getSalary() {
    50         return salary;
    51     }
    52     public void setSalary(float salary) {
    53         this.salary = salary;
    54     }
    55     
    56     
    57     
    58     
    59 }
    Emp.java
      1 package cn.gee;
      2 
      3 import java.io.BufferedReader;
      4 import java.io.BufferedWriter;
      5 import java.io.FileNotFoundException;
      6 import java.io.FileReader;
      7 import java.io.FileWriter;
      8 import java.io.IOException;
      9 import java.util.LinkedList;
     10 import java.util.List;
     11 
     12 /**
     13  * 1.每个员工信息 一条一条 写到文件中
     14  * 2.把多个员工(集合)一起写进去或者读出来
     15  * @author y
     16  *
     17  */
     18 public class EmpBussiness {
     19     List<Emp> emps=new LinkedList<Emp>();
     20     
     21     
     22     public EmpBussiness() throws IOException{
     23         init();
     24     }
     25     private void init() throws IOException{
     26         read();
     27     }
     28     //获得已有的员工信息
     29     private  void read() throws IOException{
     30         FileReader fr=new FileReader("C:\zhougb\08\08\08\emps.txt");
     31         BufferedReader br=new BufferedReader(fr);
     32         String empStr=null;
     33         while((empStr=br.readLine())!=null){
     34             String[] empStrs=empStr.split(",");
     35             emps.add(new Emp(empStrs[0],empStrs[1],Integer.parseInt(empStrs[2]),Float.parseFloat(empStrs[3])));
     36         }
     37         fr.close();
     38         br.close();
     39     }
     40     
     41     public void write() throws IOException{
     42         FileWriter fw=new FileWriter("C:\zhougb\08\08\08\emps.txt");
     43         BufferedWriter bw=new BufferedWriter(fw);
     44         for(Emp e:emps){
     45             bw.write(e.toString());
     46             bw.newLine();
     47         }
     48         bw.flush();
     49         fw.close();
     50         bw.close();
     51     }
     52     
     53     
     54     //添加员工
     55     public void add(Emp emp) throws IOException{
     56 //        read();
     57         emps.add(emp);
     58         write();
     59         
     60     }
     61     
     62 
     63     //查询所有员工
     64     public List<Emp> selectAll() throws IOException{
     65         //read();
     66         return emps;
     67     }
     68     
     69     //查询单个员工
     70     public Emp select(String id){
     71         
     72         for(Emp e:emps){
     73             System.out.println("EmpBussiness.select()"+e.getId());
     74             if(id.equals(e.getId())){
     75                 return e;
     76             }
     77         }
     78         return  null;
     79     }
     80     //删除单个员工
     81         public boolean  delete(String id) throws IOException{
     82         
     83             for(Emp e:emps){
     84                 if(id.equals(e.getId())){
     85                     emps.remove(e);
     86                     write();
     87                     return  true;
     88                 }
     89             }
     90         
     91             return false;
     92         }
     93         
     94         /**修改员工:
     95          * 1.不论属性有没有值,都覆盖旧的数据
     96          * 2.如果属性没有值,那么旧的数据就不覆盖
     97          * @param nemp
     98          * @return
     99          */
    100         public boolean  update(Emp nemp){
    101             boolean ret=false;
    102             for(Emp e:emps){
    103                 if(nemp.getId().equals(e.getId())){
    104                     e.setAge(nemp.getAge());
    105                     e.setSalary(nemp.getSalary());
    106                     e.setSname(nemp.getSname());
    107                     ret= true;
    108                 }
    109             }
    110             return ret;
    111         }
    112 }
    EmpBussiness.java
     1 package cn.gee;
     2 
     3 import java.io.IOException;
     4 import java.util.List;
     5 import java.util.Random;
     6 import java.util.Scanner;
     7 
     8 public class View {
     9     public static void main(String[] args) throws IOException {
    10         EmpBussiness empBussiness=new EmpBussiness();
    11         System.out.println("------------------------------员工管理系统beta1.0--------------------------");
    12         System.out.println("1:添加员工 2:查询员工 3:删除员工 4:修改员工 5:所有员工 6:退出系统");
    13         Scanner sc=new Scanner(System.in);
    14         int choice=sc.nextInt();
    15         while(choice<6){
    16             switch (choice) {
    17             case 1:
    18                 System.out.println("请输入名称:");
    19                 String sname=sc.next();
    20                 System.out.println("请输入年龄:");
    21                 int age=sc.nextInt();
    22                 System.out.println("请输入薪资:");
    23                 float salary=sc.nextFloat();
    24                 empBussiness.add(new Emp(Math.round(Math.random()*10000)+"",sname,age,salary));
    25                 System.out.println("添加成功~");
    26                 break;
    27             case 2:
    28                 System.out.println("请输入编号:");
    29                 String id=sc.next();
    30                 System.out.println("员工编号      员工姓名      员工年龄      员工薪资");
    31                 System.out.println(doShow(empBussiness.select(id)));
    32                 break;
    33             case 3:
    34                 System.out.println("请输入编号:");
    35                 String did=sc.next();
    36                 empBussiness.delete(did);
    37                 System.out.println("删除成功~");
    38                 break;
    39             case 4:
    40                 //empBussiness.delete(sc.next());
    41                 break;
    42             case 5:
    43                 System.out.println("员工编号      员工姓名      员工年龄      员工薪资");
    44                 StringBuilder sb=new StringBuilder();
    45                 List<Emp> emps=empBussiness.selectAll();
    46                 for(Emp e:emps){
    47                     sb.append(doShow(e));
    48                 }
    49 
    50                 System.out.println(sb);
    51                 break;
    52             case 6:
    53                 return ;
    54 
    55             }
    56             choice=sc.nextInt();
    57         }
    58         
    59     }
    60     
    61     private static  String doShow(Emp e){
    62         StringBuilder sb=new StringBuilder();
    63         sb.append(e.getId()+"      ");
    64         sb.append(e.getSname()+"      ");
    65         sb.append(e.getAge()+"      ");
    66         sb.append(e.getSalary()+"      ");
    67         sb.append("
    ");
    68         return sb.toString();
    69     }
    70     
    71     
    72 }
    View.java
  • 相关阅读:
    Makefile 一点一滴(三)—— 尝试简单的变量替换
    Makefile 一点一滴(二)—— 输出文件到指定路径
    Makefile 一点一滴(一)—— 从最简单的makefile模板写起
    用fxc.exe编译shader文件(*.fx, *.hlsl)的设置
    全国管理系统
    [原]产品经理和韦小宝
    [原]详细分析 javascript 的内存分配
    [原]看看腾讯是怎么做产品设计分析的 - 腾讯QQ音乐业务产品规划
    [原]Android布局管理器
    [原]ubuntu wubi.exe 直接加载下载好的 amd64.tar.xz
  • 原文地址:https://www.cnblogs.com/1020182600HENG/p/5995907.html
Copyright © 2011-2022 走看看