1.界面:
package staffSystem;
import java.util.Scanner;
/**
* 交互界面
* @author 123
*
*/
public class Surface {
public static void main(String[] args) {
// Staff sta = new Staff();
// Model mode = new Model();
Scanner scan = new Scanner(System.in);
// int index=0;
menu(scan);
scan.close();
}
public static void menu(Scanner scan) {
while (true) {
System.out.println("******************员工管理系统******************");
System.out.println("1--添加员工 2--修改员工 3--查询员工");
System.out.println("4--删除员工 5--员工排名 6--退出系统 ");
System.out.println("************************************************");
System.out.println("请输入序号进行操作(1-6):");
int n = scan.nextInt();
if (n == 1) {
Model.addEmp();//添加
} else if (n == 2) {
Model.setEmp();//修改
} else if (n == 3) {
Model.search();//查询
} else if (n == 4) {
Model.remove();//删除
} else if (n == 5) {
Model.sort();//排序
} else if (n == 6) {
break;
} else {
System.out.println("输入不合法!请重新输入!");
}
}
System.out.println("已退出系统!!!");
}
public static void search1() {
System.out.println("此员工不存在!");
System.out.println();
System.out.println("请选择选项:");
System.out.println("1--重新查询 2--返回主界面");
}
}
2.员工类:
package staffSystem;
/**
* 员工类
*
* @author 123
*
*/
public class Staff {
private String name;// 员工姓名
private int id;// 员工号
private String sex;// 员工性别
private int age;// 员工年龄
private float salary;// 工资
public Staff() {
}
public Staff(Integer id, String name, String sex, Integer age, Integer salary) {
this.id = id;
this.name = name;
this.age = age;
this.sex = sex;
this.salary = salary;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getSex() {
return sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public float getSalary() {
return salary;
}
public void setSalary(float salary) {
this.salary = salary;
}
@Override
public String toString() {//方便查看员工信息
return "员工号:" + id +"\t姓名:" + name + "\t性别:" + sex + "\t年龄:" + age + "\t工资:" + salary;
}
}
3.功能实现:
package staffSystem;
import java.util.ArrayList;
import java.util.Scanner;
/**
* 对象模型类
*
* @author 123
*
*/
public class Model {
static ArrayList<Staff> sta = new ArrayList<>();
static {// 初始化
Staff sta1 = new Staff(1, "张三", "女", 18, 5000);
Staff sta2 = new Staff(2, "李四", "男", 23, 8000);
Staff sta3 = new Staff(3, "王五", "男", 26, 6500);
// Staff sta4 = new Staff(67, "李5四", "男", 23, 56);
// Staff sta5 = new Staff(7, "王7五", "男", 26, 12000);
sta.add(sta1);
sta.add(sta2);
sta.add(sta3);
// sta.add(sta4);
// sta.add(sta5);
}
/**
* 查询员工信息
*/
public static void search() {
boolean t = true;
while (t) {
System.out.println("**********员工信息表**********");
for (int i = 0; i < sta.size(); i++) {
System.out.println("工号:" + sta.get(i).getId() + " \t" + "姓名:" + sta.get(i).getName());
}
System.out.println("请选择查询员工方式:");
System.out.println("1--按员工姓名查找 2--按员工工号查找 3--返回主界面");
Scanner scan1 = new Scanner(System.in);
int n = scan1.nextInt();
if (n == 1) {
int a = 0;
System.out.println("请输入要查询的员工名字:");
String name = scan1.next();
for (int i = 0; i < sta.size(); i++) {
if (name.equals(sta.get(i).getName())) {
System.out.println(sta.get(i));
System.out.println("查询成功!");
System.out.println();
System.out.println("1--继续查询 2--返回主界面");
int y1 = scan1.nextInt();
if (y1 == 1) {
a = 1;
} else if (y1 == 2) {
a = 1;
t = false;
} else {
System.out.println("输入不合法!已退出查询!");
System.out.println("******************************");
a = 1;
t = false;
}
}
}
if (a == 0) {
Surface.search1();
int n1 = scan1.nextInt();
while (true) {
if (n1 == 1) {
break;
} else if (n1 == 2) {
t = false;
break;
} else {
System.out.println("输入错误!请重新输入!");
n1 = scan1.nextInt();
}
}
}
} else if (n == 2) {
int a1 = 0;
System.out.println("请输入要查询的员工工号:");
int id = scan1.nextInt();
for (int i = 0; i < sta.size(); i++) {
if (id == sta.get(i).getId()) {
System.out.println(sta.get(i));
System.out.println("查询成功!");
System.out.println();
System.out.println("1--继续查询 2--返回主界面");
int y = scan1.nextInt();
if (y == 1) {
a1 = 1;
} else if (y == 2) {
a1 = 1;
t = false;
} else {
System.out.println("输入不合法!已退出查询!");
System.out.println("******************************");
a1 = 1;
t = false;
}
}
}
if (a1 == 0) {
Surface.search1();
int n1 = scan1.nextInt();
while (true) {
if (n1 == 1) {
break;
} else if (n1 == 2) {
t = false;
break;
} else {
System.out.println("输入错误!请重新输入!");
n1 = scan1.nextInt();
}
}
}
} else if (n == 3) {
t = false;
} else {
System.out.println("输入不合法!请重新输入!");
System.out.println("******************************");
}
}
}
/**
* 添加员工信息
*/
public static void addEmp() {
boolean t = true;
while (t) {
Scanner scan3 = new Scanner(System.in);
System.out.print("请输入员工工号:");
int addid = scan3.nextInt();
System.out.print("请输入员工姓名:");
String addname = scan3.next();
System.out.print("请输入员工性别:");
String addsex = scan3.next();
System.out.print("请输入员工年龄:");
int addage = scan3.nextInt();
System.out.print("请输入员工工资:");
float addsalary = scan3.nextFloat();
boolean b = true;
for (int i = 0; i < sta.size(); i++) {
if (sta.get(i).getId() == addid) {
b = false;
break;
}
}
if (b) {
Staff staff = new Staff();
staff.setId(addid);
staff.setName(addname);
staff.setSex(addsex);
staff.setAge(addage);
staff.setSalary(addsalary);
sta.add(staff);
System.out.println("员工添加成功!");
System.out.println("1--继续添加 2--返回主界面");
System.out.println("******************************");
int y = scan3.nextInt();
if (y == 1) {
} else if (y == 2) {
t = false;
} else {
System.out.println("输入不合法!已退出添加!");
System.out.println("******************************");
t = false;
}
} else {
System.out.println("添加失败!请不要重复添加!");
System.out.println("1--继续添加 2--返回主界面");
System.out.println("******************************");
int y1 = scan3.nextInt();
if (y1 == 1) {
} else if (y1 == 2) {
t = false;
} else {
System.out.println("输入不合法!已退出添加!");
System.out.println("******************************");
t = false;
}
}
}
}
/**
* 删除员工信息
*/
public static void remove() {
boolean t = true;
while (t) {
System.out.println("**********员工信息表**********");
for (int i = 0; i < sta.size(); i++) {
System.out.println("工号:" + sta.get(i).getId() + "\t" + "姓名:" + sta.get(i).getName());
}
System.out.println("请选择要删除的员工工号:");
Scanner scan4 = new Scanner(System.in);
int id = scan4.nextInt();
for (int i = 0; i < sta.size(); i++) {
if (sta.get(i).getId() == id) {
System.out.println("是否删除此人?");
System.out.println("1--是 2--否 3--返回主界面");
int a = scan4.nextInt();
if (a == 1) {
sta.remove(i);
System.out.println("删除成功!!");
System.out.println("1--继续删除 2--返回主界面");
System.out.println("******************************");
int y = scan4.nextInt();
while (true) {
if (y == 1) {
break;
} else if (y == 2) {
t = false;
break;
} else {
System.out.println("输入错误,请重新输入!");
}
}
break;
} else if (a == 2) {
System.out.println("已取消删除!");
System.out.println("********************");
break;
} else if (a == 3) {
t = false;
break;
} else {
System.out.println("输入错误!请重新输入!");
System.out.println("********************");
i--;
}
} else if (i == sta.size() - 1) {
System.out.println("输入工号错误,没有此员工!");
System.out.println("1--重新输入 2--返回主界面");
System.out.println("******************************");
int a1 = scan4.nextInt();
if (a1 == 1) {
} else if (a1 == 2) {
t = false;
} else {
System.out.println("输入错误!已退出删除程序");
t = false;
}
}
}
}
}
/**
* 修改员工信息
*/
public static void setEmp() {
boolean t = true;
while (t) {
System.out.println("**********员工信息表**********");
for (int i = 0; i < sta.size(); i++) {
System.out.println("工号:" + sta.get(i).getId() + "\t" + "姓名:" + sta.get(i).getName());
}
System.out.println("请选择要修改的员工工号:");
Scanner scan5 = new Scanner(System.in);
int id = scan5.nextInt();
for (int i = 0; i < sta.size(); i++) {
if (sta.get(i).getId() == id) {
int w = 0;
System.out.println("是否修改此人?");
System.out.println("1--是 2--否 3--返回主界面");
int a = scan5.nextInt();
if (a == 1) {
System.out.print("请输入员工工号:");
int addid = scan5.nextInt();
System.out.print("请输入员工姓名:");
String addname = scan5.next();
System.out.print("请输入员工性别:");
String addsex = scan5.next();
System.out.print("请输入员工年龄:");
int addage = scan5.nextInt();
System.out.print("请输入员工工资:");
float addsalary = scan5.nextFloat();
for (int j = 0; j < sta.size(); j++) {
if (j == i) {
continue;
}
if (addid == sta.get(j).getId()) {
w = 1;
}
}
if (w == 0) {
sta.remove(i);
Staff staff = new Staff();
staff.setId(addid);
staff.setName(addname);
staff.setSex(addsex);
staff.setAge(addage);
staff.setSalary(addsalary);
sta.add(i, staff);
System.out.println("员工修改成功!");
System.out.println("1--继续修改 2--返回主界面");
System.out.println("******************************");
int y = scan5.nextInt();
if (y == 1) {
break;
} else if (y == 2) {
t = false;
break;
} else {
System.out.println("输入不合法!已退出修改!");
System.out.println("******************************");
t = false;
break;
}
}
} else if (a == 2) {
System.out.println("已取消修改!");
System.out.println("********************");
break;
} else if (a == 3) {
t = false;
break;
} else {
System.out.println("输入错误!请重新输入!");
System.out.println("********************");
break;
}
if (w == 1) {
System.out.println("工号重复,请重新输入!");
System.out.println("*************************");
break;
}
} else if (i == sta.size() - 1) {
System.out.println("输入工号错误,没有此员工!");
System.out.println("1--重新输入 2--返回主界面");
System.out.println("******************************");
int a1 = scan5.nextInt();
if (a1 == 1) {
} else if (a1 == 2) {
t = false;
} else {
System.out.println("输入错误!已退出修改程序");
t = false;
}
}
}
}
}
/**
* 对员工进行排序
*/
public static void sort() {
boolean t = true;
while (t) {
System.out.println("请选择要排序的方式:");
System.out.println("1--按工号进行排序 2--按工资进行排序 3--返回主界面");
System.out.println("******************************");
Scanner scan6 = new Scanner(System.in);
int n = scan6.nextInt();
if (n == 1) {
System.out.println("工号从小到大排序:");
System.out.println("**********员工信息表**********");
Staff staff = new Staff();
for (int i = 0; i < sta.size() - 1; i++) {// 按照工号从小到大排序
int min = sta.get(i).getId();
for (int x = i + 1; x < sta.size(); x++) {
if (sta.get(x).getId() < min) {
int k = 0;
for (int j = 0; j < x; j++) {
if (sta.get(j).getId() == min) {
k = j;
break;
}
}
staff = sta.get(k);
sta.set(k, sta.get(x));
sta.set(x, staff);
}
}
}
for (int i = 0; i < sta.size(); i++) {
System.out.println(sta.get(i));
}
System.out.println();
System.out.println("员工排序成功!");
System.out.println("1--继续排序 2--返回主界面");
System.out.println("******************************");
int y1 = scan6.nextInt();
while (true) {
if (y1 == 1) {
break;
} else if (y1 == 2) {
t = false;
break;
} else {
System.out.println("输入错误,请重新输入!");
}
}
} else if (n == 2) {
System.out.println("工资从小到大排序:");
System.out.println("**********员工信息表**********");
Staff staff = new Staff();
for (int i = 0; i < sta.size() - 1; i++) {// 按照工资从小到大排序
for (int x = 0; x < sta.size() - 1 - i; x++) {
if (sta.get(x).getSalary() > sta.get(x + 1).getSalary()) {// 冒泡排序
staff = sta.get(x);
sta.set(x, sta.get(x + 1));
sta.set(x + 1, staff);
}
}
}
for (int i = 0; i < sta.size(); i++) {
System.out.println(sta.get(i));
}
System.out.println();
System.out.println("员工排序成功!");
System.out.println("1--继续排序 2--返回主界面");
System.out.println("******************************");
int y = scan6.nextInt();
while (true) {
if (y == 1) {
break;
} else if (y == 2) {
t = false;
break;
} else {
System.out.println("输入错误,请重新输入!");
}
}
} else if (n == 3) {
t = false;
} else {
System.out.println("输入错误!请重新输入!");
System.out.println();
}
}
}
}
输出结果: