package com.unit6.test;
public class Employee {
//工号
private String id;
//姓名
private String name;
//性别
private String sex;
//出生日期
private String birthday;
//号码
private String phone;
//定义无参数的构造方法
public Employee() {
}
//定义带参数的构造方法
public Employee(String id, String name, String sex, String birthday, String phone) {
this.id = id;//this代表使用Employee实例方法的当前对象,this.id就表示使用当前对象的变量id
this.name = name;
this.sex = sex;
this.birthday = birthday;
this.phone = phone;
}
//set和get方法操作private变量,增强安全性
public void setId(String id) { //给对象的属性赋值
this.id = id;
}
public String getId() { //取得对象的属性值
return id;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getSex() {
return sex;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public String getBirthday() {
return birthday;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getPhone() {
return phone;
}
}
package com.unit6.test;
import java.util.ArrayList;
import java.util.Scanner;
public class EmployeeManager {
/*
* 1. 用输出语句完成主界面的编写
* 2. 用Scanner实现键盘录入数据
* 3. 用switch语句完成操作的选择
* 4. 用循环完成再次回到主界面
*/
public static void main(String[] args) {
// 创建集合对象,用于存储员工数据
ArrayList<Employee> array = new ArrayList<Employee>();
// 用循环完成再次回到主界面
while (true) {
// 1. 用输出语句完成主界面的编写
System.out.println("*******欢迎进入员工管理系统*******");
System.out.println("\t1.输出所有员工信息");
System.out.println("\t2.添加员工信息");
System.out.println("\t3.查询指定工号员工信息");
System.out.println("\t4.修改员工信息");
System.out.println("\t5.删除员工信息");
System.out.println("\t6.退出");
System.out.println("*****************************");
System.out.println("请选择菜单功能:");
// 2. 用Scanner实现键盘录入数据
Scanner in = new Scanner(System.in);
String choice = in.nextLine();//nextLine()返回Enter键之前的所有字符,可得到带空格的字符串;而next()得不到带空格的字符串,视字符串为分隔符
// 3. 用switch语句完成操作的选择
switch (choice) {
case "1":
//查看所有员工
findAllStudent(array);
break;
case "2":
// 添加员工
addEmployee(array);
break;
case "3":
// 根据工号查看员工信息
findEmployeeById(array);
break;
case "4":
// 修改员工
updataStudent(array);
break;
case "5":
// 删除员工
deleteStudent(array);
break;
case "6":
System.out.println("谢谢使用本系统,再见!");
System.exit(0);
default:
// 输入命令有误时,while循环实现返回重新输入
System.out.println("输入错误,请重新输入!");
}
}
}
// 1.定义一个方法,用于查看所有员工信息
public static void findAllStudent(ArrayList<Employee> array) {
if (array.size() == 0) {
System.out.println("抱歉!没有员工记录,请先添加员工信息再查询");
// 为了不让程序继续往下执行
return;
}
System.out.println("工号\t\t姓名\t\t性别\t\t出生日期\t\t\t电话");
// 将集合中数据取出按照对应格式显示员工信息
for (int i = 0; i < array.size(); i++) {
Employee e = array.get(i);
System.out.println(e.getId() + "\t\t" + e.getName() + "\t\t" + e.getSex() +
"\t\t" + e.getBirthday()+ "\t\t" + e.getPhone());
}
}
// 2.定义一个方法,用于添加员工信息
public static void addEmployee(ArrayList<Employee> array) {
// 用键盘录入选择添加员工,显示提示信息,提示要输入何种信息
Scanner in = new Scanner(System.in);
// 为了让id在while循环外面也能被访问到,我们就把它定义在了循环外
String id;
// 为了让程序能够回到这里,我们使用循环使用
while (true) {
System.out.println("请输入工号:");
id = in.nextLine();
boolean flag = isUsed(array, id);
if (flag) {
System.out.println("你输入的工号已经被使用,请重新输入");
} else {
break;
}
}
System.out.println("请输入员工姓名:");
String name = in.nextLine();
System.out.println("请输入员工性别:");
String sex = in.nextLine();
System.out.println("请输入员工出生日期:");
String birthday = in.nextLine();
System.out.println("请输入员工电话:");
String phone = in.nextLine();
// 创建员工对象,把键盘录入的数据赋值给员工对象的成员变量
Employee e = new Employee();
e.setId(id);//set赋值
e.setName(name);
e.setSex(sex);
e.setBirthday(birthday);
e.setPhone(phone);
// 将员工对象添加到集合中保存
array.add(e);
// 给出添加成功提示
System.out.println("添加员工成功");
}
// 定义一个方法,判断工号是否被占用
public static boolean isUsed(ArrayList<Employee> array, String id) {
// 如果与集合中的某一个员工工号相同,返回true 如果都不相同,返回false
boolean flag = false;
for (int i = 0; i < array.size(); i++) {
Employee e = array.get(i);
if (e.getId().equals(id)) {
flag = true;
break;
}
}
return flag;
}
// 3.定义一个方法,用于根据员工工号查看员工信息
public static void findEmployeeById(ArrayList<Employee> array) {
// 用键盘录入选择添加员工,显示提示信息
Scanner in = new Scanner(System.in);
// 输入员工工号
System.out.println("请输入员工工号:");
String id = in.nextLine();
// 在根据员工工号查询前,对工号是否存在进行判断
// 如果不存在,显示不存在提示信息
// 如果存在,输出员工信息
int index = -1;
Employee e = null;
// 遍历集合将对应员工对象从集合中拿出
for (int i = 0; i < array.size(); i++) {
e = array.get(i);
if (e.getId().equals(id)) {
index = i;
break;
}
}
if (index == -1) {
System.out.println("该"+id+"的工号不存在!");
} else {
System.out.println("工号"+"\t\t"+"姓名"+"\t\t"+"性别"+"\t\t"+"出生日期"+"\t\t\t"+"电话");
// 将集合中数据取出按照对应格式显示员工信息
System.out.println(e.getId() + "\t\t" + e.getName() + "\t\t" + e.getSex() +
"\t\t" + e.getBirthday()+ "\t\t" + e.getPhone());
}
}
// 4.定义一个方法,用于修改员工信息
public static void updataStudent(ArrayList<Employee> array) {
// 键盘录入要修改的员工工号,显示提示信息
Scanner in = new Scanner(System.in);
System.out.println("请输入要修改的员工工号:");
String id = in.nextLine();
// 在修改员工操作前,对工号是否存在进行判断
// 如果不存在,显示提示信息
// 如果存在,执行修改操作
int index = -1;
// 遍历集合修改对应的员工信息
for (int i = 0; i < array.size(); i++) {
Employee e = array.get(i);
if (e.getId().equals(id)) {
index = i;
break;
}
}
if (index == -1) {
System.out.println("该工号不存在,请重新输入");
} else {
for (int j = 0; j < array.size(); j++) {
Employee student = array.get(j);
if (student.getId().equals(id)) {
// 键盘录入要修改的员工信息
System.out.println("请输入员工的新姓名:");
String name = in.nextLine();
System.out.println("请输入员工的新性别:");
String sex = in.nextLine();
System.out.println("请输入员工的新出生日期:");
String birthday = in.nextLine();
System.out.println("请输入员工的新电话:");
String phone = in.nextLine();
// 创建员工对象,set进行赋值
Employee e = new Employee();
e.setId(id);
e.setName(name);
e.setSex(sex);
e.setBirthday(birthday);
e.setPhone(phone);
array.set(j, e);
// 给出修改成功提示
System.out.println("修改员工成功");
break;
}
}
}
}
// 5.定义一个方法,用于删除员工信息
public static void deleteStudent(ArrayList<Employee> array) {
// 键盘录入要删除的员工工号,显示提示信息
Scanner in = new Scanner(System.in);
System.out.println("请输入要删除的员工工号:");
String id = in.nextLine();
// 在删除员工操作前,对工号是否存在进行判断
// 如果不存在,显示提示信息
// 如果存在,执行删除操作
int index = -1;
// 遍历集合将对应员工对象从集合中删除
for (int i = 0; i < array.size(); i++) {
Employee e = array.get(i);
if (e.getId().equals(id)) {
index = i;
break;
}
}
if (index == -1) {
System.out.println("该"+id+"的工号不存在!");
} else {
array.remove(index);
System.out.println("删除员工成功!");
}
}
}
文章来源:https://www.toymoban.com/news/detail-521977.html
文章来源地址https://www.toymoban.com/news/detail-521977.html
到了这里,关于Java员工信息管理系统(注释全)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!