Java集合ArrayList的应用
2016-04-01 21:34
561 查看
/** * * @author Administrator * 功能:Java集合类ArrayList的使用 */ package com.test; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class Test2 { public static void main(String[] args) throws Exception{ // TODO Auto-generated method stub //演示 // String a = new String("abc"); // String b = new String("abc"); // //==比较的是字符串的地址,equals比较的字符串的内容 // if(a == b) // { // //该句不会被输出 // System.out.println("OK"); // } // if(a.equals(b)) //a.equals(b)返回的是布尔值 // { // //该句会被输出 // System.out.println("OK!"); // } //创建EmpManage对象 EmpManage em = new EmpManage(); 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:退出系统"); 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("请输入工资"); float sal = Float.parseFloat(br.readLine()); Emp emp = new Emp(empNo, name, sal); em.addEmp(emp); System.out.println("添加成功!"); } 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(); System.out.println("请输入工资"); 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")) { //退出系统,终止当前正在运行的Java虚拟机 //参数用作状态码;根据惯例,非 0 的状态码表示异常终止 //-1时Java虚拟机会做检测工资,0的话是正常退出 System.exit(0); //System.exit(-1); } } } } // 雇员管理类 class EmpManage { private ArrayList al = null; // 构造函数最主要的作用就是初始化成员变量 public EmpManage() { al = new ArrayList(); } // 加入员工 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 = (Emp) al.get(i); // 比较编号 if (emp.getEmpNo().equals(empNo)) { System.out.println("找到该员工,他的信息是"); System.out.println("编号=" + empNo); System.out.println("名字=" + emp.getName()); System.out.println("工资=" + emp.getSal()); } } } // 修改工资 public void updateSal(String empNo, float newSal) { for (int i = 0; i < al.size(); i++) { Emp 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 = (Emp) al.get(i); if (emp.getEmpNo().equals(empNo)) { // 两种删除方式都可以 al.remove(i); // al.remove(emp); } } } } // 雇员类 class Emp { // 学号 private String empNo; private String name; private float sal; // 构造函数 public Emp(String empNo, String name, float sal) { super(); this.empNo = empNo; this.name = name; this.sal = sal; } 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; } }
相关文章推荐
- 20145107 《Java程序设计》第五周学习总结
- 使用两个堆栈实现队列功能
- 前端利用ajax后台用struts实现账号唯一性检验
- Arrays.sort()所用插入排序算法
- java文件操作类FILE中的乱码问题
- Struts2的Action访问Spring的业务逻辑组件的两种策略
- javaweb学习
- Spring第一天学习总结
- java chrome ie
- Java中的static Class和non static Class
- Java中的异常处理
- springMVC4(4)json与对象互转实例解析请求响应数据转换器
- Spring.Net学习笔记(6)-方法注入
- java 找出数组中只出现一次的数字
- Java反射——动态加载类
- Java 反射---获取Class的三种方式
- JavaMail 邮件开发
- struts2 中使用request.getInputStream() 获取POST数据
- Struts2核心工作原理解析
- JavaWeb 后端 <十四> 文件上传下载