版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_40969422/article/details/80303476
package cn.personnel;
public class Employee {
private String id;//员工编号
private String name;//员工姓名
private String job;//员工职务
private String sex;//员工性别
private String age;//员工年龄
private String department;//部门
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getDepartment() {
return department;
}
public void setDepartment(String department) {
this.department = department;
}
}
package cn.personnel;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class EmployeeManager {
private File file = new File("D:/empinfo.txt");
private Scanner input=new Scanner(System.in);
@SuppressWarnings("unused")
private Employee manger = new Employee();
private List<Employee> personnelInfo = new ArrayList<Employee>();
public void employeeManger(){
int chose;
pessonInfo();
showDish();
do {
Dish();
System.out.print("请选择:");
chose=input.nextInt();
switch (chose) {
case 0:
shouInfo();
break;
case 1:
addEmps();
break;
case 2:
seeAboutDepartment();
break;
case 3:
seeAboutId();
break;
case 4:
saveInfoExit();
break;
}
System.out.println();
} while (chose!=4);
}
/**
* 根据部门
* 查看员工 此部门人数
* 部门编号 人员姓名
*/
private void seeAboutDepartment() {
System.out.println("查找员工信息--->>>");
System.out.print("请输入要查找的部门名称:");
String department=input.next();
int departmentCount=sumDepartment(department);
if(departmentCount!=0){
System.out.println("共找到:"+departmentCount);
for (Employee employee : personnelInfo) {
if(department.equals(employee.getDepartment())){
System.out.println(employee.getId()+"\t"+employee.getName());
}
}
}else{
System.out.println("没有此部门!");
}
}
public int sumDepartment(String department){
int count=0;
for (Employee employee : personnelInfo) {
if(department.equals(employee.getDepartment())){
count++;
}
}
return count;
}
/**
* 根据员工编号查看员工信息
*/
private void seeAboutId() {
System.out.println("查看员工详情--->>>");
System.out.print("请输入要查看的员工编号:");
String id=input.next();
boolean flsg=aboutId(id);
if(flsg){
for (Employee emp : personnelInfo) {
if(id.equals(emp.getId())){
System.out.println(emp.getId()+"\t"+emp.getName()+"\t"+emp.getJob()+"\t"+emp.getAge()+"\t"+emp.getSex()+"\t"+emp.getDepartment());
}
}
}else{
System.out.println("无此员工!");
}
}
private boolean aboutId(String id){
boolean flsg=false;
for (Employee employee : personnelInfo) {
if(id.equals(employee.getId())){
flsg=true;
break;
}
}
return flsg;
}
/**
* 将本地数据加载到集合中
* @return
*/
private void pessonInfo() {
Reader reader = null;
BufferedReader br = null;
if(file.length()>0){
try {
reader = new FileReader(file);
br = new BufferedReader(reader);
String readerLine = br.readLine();
while (readerLine != null) {
// 绑定集合数据
String str = readerLine;
String[] splits = str.split(" ");
Employee emp = new Employee();
emp.setId(splits[0]);
emp.setName(splits[1]);
emp.setJob(splits[2]);
emp.setSex(splits[3]);
emp.setAge(splits[4]);
emp.setDepartment(splits[5]);
personnelInfo.add(emp);
readerLine = br.readLine();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
br.close();
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
/**
* 显示员工信息
*/
private void shouInfo(){
if(emps()!=null){
System.out.println("编号\t姓名\t职务\t\t\t性别\t\t年龄\t\t部门");
for (Employee employee : personnelInfo) {
System.out.println(employee.getId()+"\t"+employee.getName()+
"\t"+employee.getJob()+"\t\t\t"+employee.getSex()+"\t\t"+
employee.getAge()+"\t\t"+employee.getDepartment());}
}else{
System.out.println("没有员工信息!");
}
}
/**
* 返回是否有员工信息
* @return
*/
private Employee emps(){
Employee emp=null;
for (Employee employee : personnelInfo) {
if(employee!=null){
emp=employee;
break;
}
}
return emp;
}
/**
* 加载员工信息
*/
private void showDish(){
Employee employee=emps();
if(employee!=null){
System.out.println("正在加载已员工信息......");
System.out.println("加载完成!进入系统,请选择以下菜单进行操作:\n");
}else{
System.out.println("无历史数据,直接进入系统,请选择以下菜单进行操作:\n");
}
}
/**
* 菜单信息
*/
private void Dish(){
System.out.println("0.显示所有员工信息");
System.out.println("1.添加新员工");
System.out.println("2.根据部门查询员工");
System.out.println("3.根据编号查询员工");
System.out.println("4.退出系统");
}
/**
* 退出系统并保存所有员工资料
*/
private void saveInfoExit() {
if(emps()!=null){
System.out.println("准备保存员工信息......");
Writer writer=null;
BufferedWriter bw=null;
StringBuffer strb=new StringBuffer();
for (Employee employee : personnelInfo) {
String empInfo=employee.getId()+" "+employee.getName()+" "+employee.getJob()+" "+
employee.getSex()+" "+employee.getAge()+" "+employee.getDepartment()+"\n";
strb.append(empInfo);
}
String empinfo=strb.toString();
try {
writer=new FileWriter(file);
bw=new BufferedWriter(writer);
bw.write(empinfo);
//bw.newLine();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
bw.close();
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
System.out.println("保存已有员工信息完成!");
}else{
System.out.println("没有员工信息,直接退出系统!");
}
}
/**
* 添加新员工方法
*/
private void addEmps() {
System.out.println("添加员工--->>>");
System.out.println("正在分配员工编号...");
String id=String.valueOf(addEmpsId());
System.out.println("新员工编号为:"+id+",请按照提示录入其它信息:");
System.out.print("姓名:");
String name=input.next();
System.out.print("职务:");
String job=input.next();
System.out.print("性别:");
String sex=input.next();
System.out.print("年龄:");
String age=input.next();
System.out.print("部门:");
String department=input.next();
Employee emp=new Employee();
emp.setId(id);
emp.setName(name);
emp.setJob(job);
emp.setSex(sex);
emp.setAge(age);
emp.setDepartment(department);
personnelInfo.add(emp);
System.out.println("添加成功!");
}
/**
* 添加新员工编号
*/
private int addEmpsId(){
int psId=0;
if(emps()==null){
psId=1000;
}else{
for (Employee employee : personnelInfo) {
if(psId<Integer.parseInt(employee.getId())){
psId=Integer.parseInt(employee.getId());
}
}
}
return psId+1;
}
}
package cn.permanger;
import cn.personnel.EmployeeManager;
public class TestEmployeeManager {
public static void main(String[] args) {
EmployeeManager show=new EmployeeManager();
show.employeeManger();
}
}