zoukankan      html  css  js  c++  java
  • Java集合ArrayList的应用

    /**
     * 
     * @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;
        }
    
    }
  • 相关阅读:
    1 win10双系统安装ubuntu16.04和18.04(问题详细记录)
    一些操作记录备查
    SecureCRT中文乱码解决方法
    Oracle中的NVL函数
    本机不安装Oracle客户端,使用PL/SQL Developer连接远程数据库
    DevExpress DateEdit控件选择精确到秒
    DevExpress GridView 整理
    Linux 删除文件夹和文件的命令
    DevExpress之XtraReport 学习
    解决Visual Studio Community 2017工具栏中没有Report Viewer的问题
  • 原文地址:https://www.cnblogs.com/beautiful-code/p/5346482.html
Copyright © 2011-2022 走看看