公司職員薪水管理小系統(有瑕疵)
/**
* 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;
//自動生成成員方法
}
}