• 超实用 2 ArrayList链表之 员工工资管理系统


      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("
    ");
     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 }
  • 相关阅读:
    本学期课程总结
    “进度条”博客——第十六周
    “进度条”博客——第十五周
    《梦断代码》阅读笔记03
    第二期冲刺站立会议个人博客16(2016/6/09)
    第二期冲刺站立会议个人博客15(2016/6/08)
    第二期冲刺站立会议个人博客14(2016/6/07)
    第二期冲刺站立会议个人博客13(2016/6/06)
    第二期冲刺站立会议个人博客12(2016/6/05)
    “进度条”博客——第十四周
  • 原文地址:https://www.cnblogs.com/vip-fan1234xiang/p/4401472.html
Copyright © 2020-2023  润新知