1. 程式人生 > >公司職員薪水管理小系統(有瑕疵)

公司職員薪水管理小系統(有瑕疵)

/**
 * 2018.8.3
 * 作者:孟小魚
 * 功能:公司職員薪水管理系統
 */
package com.test;

import java.util.ArrayList;
import java.util.Scanner;

public class Demo1 {
            public static void main(String[] args) {
            //建立一個EmpManage物件
                EmpManage em=new EmpManage();
                
            Scanner sc=new Scanner(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=sc.nextLine();
                if(operType.equals("1")) 
                {
                    System.out.println("請輸入編號");
                    String empNo=sc.nextLine();
                    System.out.println("請輸入姓名");
                    String name=sc.nextLine();
                    System.out.println("請輸入工資");
                    float sal=Float.parseFloat(sc.nextLine());
                    //構建物件將3個引數傳給這個物件
                    Emp emp=new Emp(empNo,name,sal);
                    em.addEmp(emp);
                }
                else if(operType.equals("2"))
                {
                    System.out.println("請輸入編號");
                    String empNo=sc.nextLine();
                    em.showInfo(empNo);
                }
                else if(operType.equals("3")) 
                {
                    System.out.println("請輸入編號");
                    String empNo=sc.nextLine();
                    System.out.println("請輸入工資");
                    float newsal=Float.parseFloat(sc.nextLine());
                    em.updateSal(empNo, newsal);
                }
                else if(operType.equals("4")) 
                {
                    System.out.println("請輸入編號");
                    String empNo=sc.nextLine();
                    em.delEmp(empNo);
                }else if(operType.equals("5")) 
                {
                    //退出系統
                    System.exit(0);
                }
                    
                    
                }

            }
}

//僱員管理類
class EmpManage
{
    //
    private ArrayList al=null;
    //構造
    public EmpManage() {
        al=new ArrayList();
    }
    //在類裡封裝方法
    //1.加入員工
    public void addEmp(Emp emp) {
        al.add(emp);
    }
    //2.顯示員工的相關資訊
    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());
            }else{
                System.out.println("查無此人");
            }
        //3.顯示員工的所有資訊for迴圈遍歷一下與2的方式基本一致
        
            
        }
        
    }
    //3.可以修改員工的薪水
    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);
            }
        }
    }
    //4.刪除某個員工
    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(emp);
                al.remove(i);
            }
        }
    }
}
//做一個僱員類
class Emp{
    //學號
    private String EmpNo;
    public String getEmpNo() {
        return EmpNo;
    }
    public void setEmpNo(String empNo) {
        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;
    }
    private String name;
    private float sal;
    //建構函式
    public Emp(String EmpNo,String name,float sal) {
        this.EmpNo=EmpNo;
        this.name=name;
        this.sal=sal;
        //自動生成成員方法
        
    }
}