JAVA集合——ArrayList 使用实例

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;

import javax.swing.text.html.HTMLDocument.Iterator;

public class ListTest2 {

	private static final int Interge = 0;

	public static void main(String[] args) throws IOException {
	
		EmpManage em = new EmpManage();
		
		//制作控制台
	    InputStreamReader isr = new InputStreamReader(System.in);
	    BufferedReader br=new BufferedReader(isr);
	    
	    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,按照薪水从高到低输出员工信息");
	    	
	    	String operType = br.readLine();
	    	if(operType.equals("1")){
	    		System.out.println("请输入该员工的编号:");
	    		String empNo = br.readLine();
	    		
	    		System.out.println("请输入该员工的姓名:");
	    		String name = br.readLine();
	    		
	    		System.out.println("请输入该员工的年龄:");
	    		int age = Integer.parseInt(br.readLine());
	    		
	    		System.out.println("请输入该员工的薪水:");
	    		float sal = Float.parseFloat(br.readLine());
	    		Emp emp = new Emp(empNo,name,age,sal);
	    		em.add(emp);
	    	}else if(operType.equals("2")){
	    		System.out.println("请输入该员工的编号:");
	    		String empNo =br.readLine();
	    		em.showInfo(empNo);
	    		
	    	}else if(operType.equals("3")){
	    		em.showAll();
	    		
	    	}else if(operType.equals("4")){
	    		System.out.println("请输入该员工编号:");
	    		String empNo = br.readLine();
	    		System.out.println("请输入该员工的薪水:");
	    		float sal = Float.parseFloat(br.readLine());
	    		
	    		em.updateSal(empNo, sal);
	    		
	    	}else if(operType.equals("5")){
	    		System.out.println("请输入该员工的编号:");
	    		String empNo = br.readLine();
	    		em.remove(empNo);
	    		
	    	}else if(operType.equals("6")){
	    		em.paixu();
	    	}
	    }
	}

}
class EmpManage{
	//要管理emp,首先把其放入al容器中
	private ArrayList  al=null;
	//构造
	public EmpManage(){
		al=new ArrayList();
	}
	
	//1.加入雇员
	public void add(Emp emp){
		al.add(emp);
	}
	//2.根据员工编号,查找员工信息
	public void  showInfo(String empNo){
		for(int i=0;i<al.size();i++){
			Emp emp =(Emp) al.get(i);
			if(empNo.equals(emp.getEmpNo())){
				System.out.println("找到该员工了!");
				System.out.println("编号:"+emp.getEmpNo()+"   姓名:"+emp.getName());
				System.out.println("年龄:"+emp.getAge()+"   薪水:"+emp.getSal());
				break;
			}
		}
	}
	//3.显示所有员工的信息
	public void showAll(){
		for(int i=0;i<al.size();i++){
			Emp emp=(Emp) al.get(i);
			System.out.println("编号:"+emp.getEmpNo()+"   姓名:"+emp.getName());
			System.out.println("年龄:"+emp.getAge()+"  薪水:"+emp.getSal());
		}
	}
	//4.修改员工薪水
	public void updateSal(String empNo,float sal){
		for(int i=0;i<al.size();i++){
			Emp emp = (Emp) al.get(i);
			System.out.println("已经进来了,要修改了!!");
			if(emp.getEmpNo().equals(empNo)){
				System.out.println("已找员工:"+emp.getEmpNo()+"  正在修改其薪水!");
				emp.setSal(sal);
				System.out.println("已将员工"+empNo+"的薪水修改为: "+sal);
				break;
			}
		}
	}
	//5.员工离职时将其从系统中删除
	public void remove(String empNo){
		for(int i=0;i<al.size();i++){
			Emp emp = (Emp) al.get(i);
			if(emp.getEmpNo().equals(empNo)){
				//al.remove(i);
				al.remove(emp);
			}
		}
	}
	//6.将员工按照薪水从高到低排序输出
	public void paixu(){
		for(int i=0;i<al.size();i++){
			Emp emp1= (Emp) al.get(i);
			for(int j=i;j<al.size();j++){
				Emp emp2 = (Emp) al.get(j);
				if(emp1.getSal()<emp2.getSal()){
					System.out.println("正在排序中!!");
					Emp temp= (Emp)al.get(i);
					emp1=(Emp) al.get(j);
					emp2=temp;
				}
			}
		}
		for(int i=0;i<al.size();i++){
			Emp emp = (Emp) al.get(i);
			System.out.println("姓名:"+emp.getName()+"薪水:"+emp.getSal());
		}
	}
	//7.统计平均工资、最高、最低工资
	
}

class Emp{
	private String empNo;
	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 int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public float getSal() {
		return sal;
	}

	public void setSal(float sal) {
		this.sal = sal;
	}

	private String name;
	private int age;
	private float sal;
	public Emp(String enpNo, String name, int age, float sal) {
		super();
		this.empNo = enpNo;
		this.name = name;
		this.age = age;
		this.sal = sal;
	}	
}

请选择你要进行的操作:
1,增加员工
2,查找员工
3,显示所有员工的信息
4,修改员工薪水
5,员工离职时将其从系统中删除
6,按照薪水从高到低输出员工信息
1
请输入该员工的编号:
01
请输入该员工的姓名:
唐僧
请输入该员工的年龄:
35
请输入该员工的薪水:
8000
请选择你要进行的操作:
1,增加员工
2,查找员工
3,显示所有员工的信息
4,修改员工薪水
5,员工离职时将其从系统中删除
6,按照薪水从高到低输出员工信息
1
请输入该员工的编号:
02
请输入该员工的姓名:
悟空
请输入该员工的年龄:
25
请输入该员工的薪水:
7000
请选择你要进行的操作:
1,增加员工
2,查找员工
3,显示所有员工的信息
4,修改员工薪水
5,员工离职时将其从系统中删除
6,按照薪水从高到低输出员工信息
3
编号:01   姓名:唐僧
年龄:35  薪水:8000.0
编号:02   姓名:悟空
年龄:25  薪水:7000.0
请选择你要进行的操作:
1,增加员工
2,查找员工
3,显示所有员工的信息
4,修改员工薪水
5,员工离职时将其从系统中删除
6,按照薪水从高到低输出员工信息
6

姓名:唐僧薪水:8000.0
姓名:悟空薪水:7000.0

很遗憾,最想完成的第六个功能“按照薪水从高到低 输出信息”的功能没有实现,研究半天没有实现,留着后面再看!现在首要的是熟悉一下ArrayList的用法!


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值