ArrayList练习---员工管理系统

主要想练习一下ArrayList
利用面向对象的思想设计一个员工管理系统。要求属性有:员工号,员工姓名,员工工资。
要求1:可以加入员工。
要求2:可以显示员工相关信息。
要求3:可以显示所有员工信息。
要求4:可以修改员工工资。
要求5:可以删除员工。

package one;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) throws IOException {
		Scanner cin = new Scanner(System.in);
		Amn amn = new Amn(new ArrayList<Staff>());
		    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:退出");
		while (true) {
			String operType = cin.nextLine();
			if (operType.equals("1")) 
			{
				System.out.println("请输入员工号");
				String num=cin.nextLine();
				System.out.println("请输入名字");
				String name = cin.nextLine();
				System.out.println("请输入工资");
				int money = cin.nextInt();
				amn.add(num, name, money);   //添加
			
			}else if (operType.equals("2")) 
			{
				
				System.out.println("请输入员工号");
				String num= cin.nextLine();
				amn.search(num).print();     //显示单个员工信息
			}else if (operType.equals("3"))
			{
				amn.count();       //显示全体员工信息
				
			}else if (operType.equals("4"))
			{
				
				System.out.println("请输入员工号");
				String num=cin.nextLine();
				System.out.println("请输入修改的工资");
				int money = cin.nextInt();
				amn.fff(num,money);         //修改员工工资
			}else if (operType.equals("5")) 
			{
				System.out.println("请输入员工号");
				String num=cin.nextLine();
				amn.delete(amn.search(num));
			}
			else if (operType.equals("6")) 
			{
				System.out.println("退出系统");
				//退出系统
				System.exit(0);
			}
		}

	}

}

package one;

import java.util.ArrayList;

/*
请选择你要进行的操作
表示添加一个雇员
查找一个雇员
查看所有雇员
修改一个雇员工资
删除一个雇员
 */
public class Amn {
    private ArrayList<Staff> arl ;
    private Staff staff;
    private int cnt = 0;        //员工个数
    public Amn(ArrayList<Staff> s)
    {
    	this.arl = s;
    }
    public void add(String num,String name,int money)   //加入员工
    {
    	arl.add(new Staff(num,name,money));
    	cnt++;
    	System.out.println("添加成功");
    }
    public Staff search(String str)        //搜索员工号
    {
    	for(int i=0;i<cnt;i++)
    	{
    		this.staff = arl.get(i);
    		if(staff.getnum().equals(str))
    		{
    			System.out.println("找到该员工");
				return staff; 
    		}
    	}
        return null;
    }
    public void print(String str)              //打印单个员工信息
    {
    	    staff = search(str);
    	    if(staff==null)
    	    {
    	    	System.out.println("没有找到该员工");
    	    }
    	    else
    	    {
    	    	staff.print();  
    	    }
		       
    }
    public void count()          //打印全体员工信息
    {
    	for(int i=0;i<cnt;i++)
    	{
    		staff = arl.get(i);
    		staff.print();
    	}
    }
    public void fff(String str,int x)  //修改工资
    {
    	search(str).setmoney(x);
    	System.out.println("修改成功");
    }
    public void delete(Staff staff)          //删除员工
    {
    	arl.remove(staff);
    	cnt--;
    	System.out.println("删除成功");
    }
}

package one;
/*
 * 员工类
 * 要求属性有:员工号,员工姓名,员工工资
 */
public class Staff {
   private String num;     //员工号
   private String name;   //员工姓名
   private int money;    //员工工资
   public Staff(String num,String name,int money)   //构造函数
   {
	   this.num = num;
	   this.name = name;
	   this.money = money;
   }
   public void setname(String name)    //修改名字
   {
	   this.name = name;
   }
   public void setnum(String num)    //修改员工号
   {
	   this.num = num;
   }
   public void setmoney(int money)    //修改工资
   {
	   this.money = money; 
   }
   public String getname()            //得到名字
   {
	   return name; 
   }
   public String getnum()             //得到员工号
   {
	   return num; 
   }
   public int getmoney()              //得到工资
   {
	   return money; 
   }
   public void print()               //打印自身所有信息
   {
	   System.out.println("该员工的工号:"+this.num);
	   System.out.println("该员工的姓名:"+this.name);
	   System.out.println("该员工的薪水:"+this.money);
   }
}

有啥问题欢迎指出,谢谢哈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值