代码注释比较详细,应该能帮助初学者很轻松的看懂;代码如下:(详细说明请看代码注解)
/* * 项目:公司职员薪水管理系统 * 作者:zyj0813 * 项目需求: * 1、添加新员工 * 2、根据员工号显示该员工信息 * 3、显示所有员工信息 * 4、删除员工信息 * 5、统计公司的平均薪水 * 6、修改员工的薪水 * 7、退出系统 */ package com.demo; import java.io.*; import java.io.InputStreamReader; import java.util.*; public class Test2 { public static void main(String[] args) throws Exception { //这里直接是用了个throws抛出了异常,没有用try catch来抛 //创建一个雇员管理类EmpManage的对象 EmpManage em=new EmpManage(); //引入Buffer流来操作数据 BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); //做出一个简易菜单 while(true) { System.out.println("请选择你要进行的操作:"); System.out.println("1:表示添加一个雇员"); System.out.println("2:表示查找一个雇员"); System.out.println("3:表示修改一个雇员工资"); System.out.println("4:表示删除一个雇员"); System.out.println("5:退出系统"); System.out.println("6:显示所有雇员信息"); System.out.println("7:表示求雇员薪水平均值"); String operType=br.readLine(); if(operType.equals("1")) { System.out.println("请输入编号\n"); String empNo=br.readLine(); System.out.println("请输入名字\n"); String name=br.readLine(); System.out.println("请输入工资\n"); float sal=Float.parseFloat(br.readLine()); Emp emp=new Emp(empNo,name,sal); em.addEmp(emp); } else if(operType.equals("2")) { System.out.println("请输入编号:"); String empNo=br.readLine(); em.showInfo(empNo); } else if(operType.equals("3")) { System.out.println("请输入编号:"); String empNo=br.readLine(); float newsal=Float.parseFloat(br.readLine()); em.updateSal(empNo, newsal); } else if(operType.equals("4")) { System.out.println("请输入编号:"); String empNo=br.readLine(); em.delEmp(empNo); } else if(operType.equals("5")) { System.exit(0); }else if(operType.equals("6")) { em.showEmp(); }else if(operType.equals("7")) { em.equalSal(); } } } } //创建雇员管理类 class EmpManage { //定义集合类型 private ArrayList<Emp> al=null; //构造函数 public EmpManage() { al=new ArrayList<Emp>(); } //加入员工 public void addEmp(Emp emp) { al.add(emp); } //根据员工号显示员工的信息 public void showInfo(String empNo) { //这个需要遍历整个ArrayList数组,来找到和输入的员工号相同的员工 for(int i=0;i<al.size();i++) { //每一次都要取出emp对象 Emp emp=al.get(i); //判断相同的员工号的条件,注意java里的判断相等不是==,而是用的equal; if(emp.getEmpNo().equals(empNo)) { //满足条件,输出该员工信息 System.out.print("找到该员工,信息为:"); System.out.print(" 名字: "+emp.getName()); System.out.print(" 编号: "+emp.getEmpNo()); System.out.println(" 薪水: "+emp.getSal()); } } } //显示所有员工信息 public void showEmp() { //遍历数组 for(int i=0;i<al.size();i++) { Emp emp=al.get(i); System.out.print("第"+(i+1)+"位员工信息如下:"); System.out.print(" 名字: "+emp.getName()); System.out.print(" 编号: "+emp.getEmpNo()); System.out.println(" 薪水: "+emp.getSal()); } } //修改员工薪水 public void updateSal(String empNo,float newsal) { //遍历 for(int i=0;i<al.size();i++) { Emp emp=al.get(i); if(emp.getEmpNo().equals(empNo)) { emp.setSal(newsal); } } } //删除员工 public void delEmp(String empNo) { //遍历 for(int i=0;i<al.size();i++) { Emp emp=al.get(i); if(emp.getEmpNo().equals(empNo)) { al.remove(i); } } } //统计员工的平均工资 public void equalSal() { float equalSal=0f; float tt=0f; for(int i=0;i<al.size();i++) { Emp emp=al.get(i); tt+=emp.getSal(); } equalSal=tt/al.size(); //打印 System.out.println("平均工资="+equalSal); } } //创建一个员工类 class Emp { private String empNo;//定义员工号 private String name;//姓名 private float sal; //薪水 //构造函数 public Emp(String name,String empNo,float sal) { this.sal=sal; this.empNo=empNo; this.name=name; } //生成get/set方法 public String getEmpNo() { return empNo; } public void setEmpNo(String empNo) { this.empNo = empNo; } public String getName() { return name; } public void setName(String name) { this.name = name; } public float getSal() { return sal; } public void setSal(float sal) { this.sal = sal; } }