1. 程式人生 > >通過JAVA編寫一個簡單的僱員管理系統小專案

通過JAVA編寫一個簡單的僱員管理系統小專案

程式碼註釋比較詳細,應該能幫助初學者很輕鬆的看懂;程式碼如下:(詳細說明請看程式碼註解)

/*
 * 專案:公司職員薪水管理系統
 * 作者:zyj0813
 * 專案需求:
 * 1、新增新員工
 * 2、根據員工號顯示該員工資訊
 * 3、顯示所有員工資訊
 * 4、刪除員工資訊
 * 5、統計公司的平均薪水
 * 6、修改員工的薪水
 * 7、退出系統
 */
package com.demo;
import java.io.*;
import java.io.InputStreamReader;
import java.util.*;
public class Test2 {
public static void main(String[] args) throws Exception { //這裡直接是用了個throws丟擲了異常,沒有用try catch來拋
    //建立一個僱員管理類EmpManage的物件
EmpManage em=new EmpManage();
//引入Buffer流來操作資料
    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:退出系統");
System.out.println("6:顯示所有僱員資訊");
System.out.println("7:表示求僱員薪水平均值");
String operType=br.readLine();
if(operType.equals("1"))
{
System.out.println("請輸入編號\n");
String empNo=br.readLine();
System.out.println("請輸入名字\n");
String name=br.readLine();
System.out.println("請輸入工資\n");
float sal=Float.parseFloat(br.readLine());
Emp emp=new Emp(empNo,name,sal);
em.addEmp(emp);
}
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();
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"))
{
System.exit(0);
}else if(operType.equals("6"))
{
em.showEmp();
}else if(operType.equals("7"))
{
em.equalSal();
}
}
}
}


//建立僱員管理類
class EmpManage
{
//定義集合型別
private ArrayList<Emp> al=null;
//建構函式
public EmpManage()
{
al=new ArrayList<Emp>();
}
//加入員工
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=al.get(i);
//判斷相同的員工號的條件,注意java裡的判斷相等不是==,而是用的equal;
if(emp.getEmpNo().equals(empNo))
{
//滿足條件,輸出該員工資訊
System.out.print("找到該員工,資訊為:");
System.out.print("  名字: "+emp.getName());
System.out.print("  編號: "+emp.getEmpNo());
System.out.println("  薪水: "+emp.getSal());
}
}
}
//顯示所有員工資訊
public void showEmp()
{
//遍歷陣列
for(int i=0;i<al.size();i++)
{
Emp emp=al.get(i);
System.out.print("第"+(i+1)+"位員工資訊如下:");
System.out.print("  名字: "+emp.getName());
System.out.print("  編號: "+emp.getEmpNo());
System.out.println("  薪水: "+emp.getSal());
}
}


//修改員工薪水
public void updateSal(String empNo,float newsal)
{
//遍歷
for(int i=0;i<al.size();i++)
{
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=al.get(i);
if(emp.getEmpNo().equals(empNo))
{
al.remove(i);
}
}
}


//統計員工的平均工資
public void equalSal()
{
float  equalSal=0f;
float tt=0f;
for(int i=0;i<al.size();i++)
{
Emp emp=al.get(i);
tt+=emp.getSal();
}
equalSal=tt/al.size();
//列印
System.out.println("平均工資="+equalSal);
}
}


//建立一個員工類
class Emp
{
private String empNo;//定義員工號
private String name;//姓名
private float sal;//薪水
//建構函式
public Emp(String name,String empNo,float sal)
{
this.sal=sal;
this.empNo=empNo;
this.name=name;
}
//生成get/set方法
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;
}
}