通过JAVA编写一个简单的雇员管理系统小项目

代码注释比较详细,应该能帮助初学者很轻松的看懂;代码如下:(详细说明请看代码注解)

/*
 * 项目:公司职员薪水管理系统
 * 作者: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;
	}
}

猜你喜欢

转载自blog.csdn.net/zyj0813/article/details/78306644
今日推荐