import java.util.*;
import java.io.*;
/*
职员薪水管理系统,使用数组 / 集合实现 要求如下:
1.当有新员工入职时,将该员工添加到管理系统
2.可以根据该员工编号显示员工信息
3.可以显示所有员工信息
4.可以修改员工的薪水
5.当该员工离职时,将该员工从管理系统中删除
6.按照薪水进行排列
*/
public class TestArrayList{
public static void main(String[] args)throws Exception{
EmpManager e = new EmpManager();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("选择进行的操作:");
System.out.println("1:添加新员工");
System.out.println("2:查询员工信息 - one");
System.out.println("3:查询员工信息 - all");
System.out.println("4:修改员工的薪水");
System.out.println("5:删除员工记录");
System.out.println("exit:退出");
while(true){
//获得输入的操作类型
System.out.println("=========输入对应的操作编号==============");
String operType = br.readLine();
if(operType.equals("1")){
System.out.println("输入编号:");
String empNo = br.readLine();
System.out.println("输入名字:");
String empName = br.readLine();
System.out.println("输入月薪:");
double sal = Double.parseDouble(br.readLine());
Emp emp = new Emp(empNo,empName,sal);
e.addEmp(emp);
System.out.println("=============操作结束===============");
}else if(operType.equals("2")){
System.out.println("=======================\n输入员工编号:");
String empNo = br.readLine();
e.showInfo(empNo);
System.out.println("=============操作结束===============");
}else if(operType.equals("3")){
e.selectAll();
}else if(operType.equals("4")){
String empNo = br.readLine();
double newSal = Double.parseDouble(br.readLine());
e.updateSal(empNo,newSal);
}else if(operType.equals("5")){
System.out.println("=======================\n输入员工编号:");
String empNo = br.readLine();
e.delete(empNo);
System.out.println("=============操作结束===============");
}else if(operType.equals("exit")){
System.exit(0);
}
}
}
}
//create empmanager class
class EmpManager{
private ArrayList<Emp> list = null;
public EmpManager(){
list = new ArrayList<>();
}
//添加员工
public void addEmp(Emp emp){
list.add(emp);
}
//显示员工的相关信息
public void showInfo(String empNo){
//遍历 list集合
for(int i = 0;i<list.size();i++){
//取出Emp对象
Emp emp = list.get(i);
//比较编号 将相同的信息取出
if(emp.getEmpNo().equals(empNo)){
//显示对应的信息
System.out.println("------------------------------\n员工号:"+empNo+" 姓名:"+emp.getName()+" 薪水:"+emp.getSal()+"\n------------------------------");
}
}
}
//显示所有员工的信息
public void selectAll(){
for(int i = 0;i<list.size();i++){
//显示
Emp emp = list.get(i);
System.out.println("------------------------------\n编号:"+emp.getEmpNo()+" 姓名:"+emp.getName()+" 薪资:"+emp.getSal()+"\n------------------------------");
}
}
//修改员工的薪水
public void updateSal(String empNo,double newSal){
for(int i = 0;i<list.size();i++){
Emp e = list.get(i);
if(e.getEmpNo().equals(empNo)){
//修改
e.setSal(newSal);
}
System.out.println("------------------------------\n员工薪资已修改\n------------------------------");
}
}
//当该员工离职时,将该员工从管理系统中删除
public void delete(String empNo){
for(int i = 0;i<list.size();i++){
Emp e = list.get(i);
if(e.getEmpNo().equals(empNo)){
list.remove(i);
}
System.out.println("------------------------------\n员工信息已删除\n------------------------------");
}
}
//按照薪水进行排列
/* public void sortSal(){
for(int i = 0;i<list.size()-1;i++){
for(int j = 0;j<list.size()-1-i;j++){
if(list[j]>list[j+1]){
list[j] = list[j]^list[j+1];
list[j+1] = list[j]^list[j+1];
list[j] = list[j]^list[j+1];
}
}
}
}*/
}
//创建员工ben
class Emp{
private String name;
private String empNo;
private double sal;
public Emp(String empNo,String name,double sal){
this.name = name;
this.empNo = empNo;
this.sal = sal;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setEmpNo(String empNo){
this.empNo = empNo;
}
public String getEmpNo(){
return empNo;
}
public void setSal(double sal){
this.sal = sal;
}
public double getSal(){
return sal;
}
}
集合联系 - ArrayList
最新推荐文章于 2022-05-25 10:34:36 发布