使用员工管理系统之前,需要先登陆。登陆后,可以完成员工的添加、显示,删除、修改、查找、排序的功能。
初始数据
/***
* 工号数组
*/
public static String[] numArray = {"001", "003", "004", "007", "010"};
/***
* 员工数组
*/
public static String[] nameArray = {"马超", "关羽", "韩信", "李白", "赵云"};
/***
* 工资数组
*/
public static int[] wageArray = {12500, 8888, 10000, 7850, 9500};
/***
* 员工个数
*/
public static int count = 5;```
**登录**
```java
public static boolean login() {
for (int i = 0; i < 3; i++) {
String user = JOptionPane.showInputDialog(null, "请输入用户名");
String pwd = JOptionPane.showInputDialog(null, "请输入密码:");
if ("admin".equals(user) && "123456".equals(pwd)) {
JOptionPane.showMessageDialog(null, "登录成功");
return true;
}
JOptionPane.showMessageDialog(null, "用户名或密码错误!");
}
return false;
}```
**添加员工**
```java
public static void addStaff() {
if (count == numArray.length) {
addArray();
}
String numInput = JOptionPane.showInputDialog(null, "请输入工号:");
if (checkNum(numInput) == true) {
JOptionPane.showMessageDialog(null, "工号已存在!");
return;
}
String nameInput = JOptionPane.showInputDialog(null, "请输入姓名:");
String wageInput = JOptionPane.showInputDialog(null, "请输入工资:");
numArray[count] = numInput;
nameArray[count] = nameInput;
wageArray[count] = Integer.parseInt(wageInput);
count++;
//递归
String isContinue = JOptionPane.showInputDialog(null, "是否继续(y/n)");
//忽略大小写是否相等
if ("y".equalsIgnoreCase(isContinue)) {
addStaff();
} else if ("n".equalsIgnoreCase(isContinue)) {
return;
}
}
显示员工信息
public static void showInfo() {
String info = "工号 " + "姓名 " + "工资\n";
for (int i = 0; i < count; i++) {
info += numArray[i] + " " + nameArray[i] + " " + wageArray[i] + "\n";
}
JOptionPane.showMessageDialog(null, info);
}
删除员工
public static void delStaff() {
int index = checkIsNo();
if (index != -1) {
//用后一个替换前一个元素
for (int i = index; i < count - 1; i++) {
numArray[i] = numArray[i + 1];
nameArray[i] = nameArray[i + 1];
wageArray[i] = wageArray[i + 1];
}
count--;
}
showInfo();
查询员工信息
public static void selectInfo() {
int index = checkIsNo();
if (index != -1) {
JOptionPane.showMessageDialog(null, "工号: "+numArray[index] + "\n" + "姓名: "+nameArray[index]
+ "\n" + "工资: "+wageArray[index]);
}
}
修改工资
public static void upateMoney() {
int index = checkIsNo();
if (index != -1) {
String updateWage = JOptionPane.showInputDialog(null, "请输入修改的工资:");
wageArray[index] = Integer.parseInt(updateWage);
showInfo();
}
}
按工资排序显示工资单
public static void rankWage() {
for (int i = 0; i < count; i++) {
for (int j = i + 1; j < count; j++) {
if (wageArray[i] < wageArray[j]) {
String num = numArray[i];
numArray[i] = numArray[j];
numArray[j] = num;
String name = nameArray[i];
nameArray[i] = nameArray[j];
nameArray[j] = name;
int wage = wageArray[i];
wageArray[i] = wageArray[j];
wageArray[j] = wage;
}
}
}
showInfo();
}
全部代码
package com.procject.work.jan_11;
import javax.swing.*;
/**
* 使用员工管理系统之前,需要先登陆。登陆后,可以完成员工的添加、显示,删除、修改、查找、排序的功能。
*/
public class StaffingSystem {
/***
* 工号数组
*/
public static String[] numArray = {"001", "003", "004", "007", "010"};
/***
* 员工数组
*/
public static String[] nameArray = {"马超", "关羽", "韩信", "李白", "赵云"};
/***
* 工资数组
*/
public static int[] wageArray = {12500, 8888, 10000, 7850, 9500};
/***
* 员工个数
*/
public static int count = 5;
public static void main(String[] args) {
if (login() == false) {
JOptionPane.showMessageDialog(null, "非法用户!");
System.exit(0);
}
//界面
while (true) {
String item = JOptionPane.showInputDialog(null, "请选择:\n1.添加员工\n2.显示员工信息\n3.删除员工\n" +
"4.查询员工信息\n5.修改员工工资\n6.按员工排序显示工资单\n7.退出");
switch (item) {
case "1":
addStaff();
break;
case "2":
showInfo();
break;
case "3":
delStaff();
break;
case "4":
selectInfo();
break;
case "5":
upateMoney();
break;
case "6":
rankWage();
break;
case "7":
JOptionPane.showMessageDialog(null, "感谢您的使用!再见!");
System.exit(0);
break;
default:
JOptionPane.showMessageDialog(null, "请按正确指令操作 !");
break;
}
}
}
/***
* 登录
* @return
*/
public static boolean login() {
for (int i = 0; i < 3; i++) {
String user = JOptionPane.showInputDialog(null, "请输入用户名");
String pwd = JOptionPane.showInputDialog(null, "请输入密码:");
if ("admin".equals(user) && "123456".equals(pwd)) {
JOptionPane.showMessageDialog(null, "登录成功");
return true;
}
JOptionPane.showMessageDialog(null, "用户名或密码错误!");
}
return false;
}
/***
* 添加员工
*/
public static void addStaff() {
if (count == numArray.length) {
addArray();
}
String numInput = JOptionPane.showInputDialog(null, "请输入工号:");
if (checkNum(numInput) == true) {
JOptionPane.showMessageDialog(null, "工号已存在!");
return;
}
String nameInput = JOptionPane.showInputDialog(null, "请输入姓名:");
String wageInput = JOptionPane.showInputDialog(null, "请输入工资:");
numArray[count] = numInput;
nameArray[count] = nameInput;
wageArray[count] = Integer.parseInt(wageInput);
count++;
//递归
String isContinue = JOptionPane.showInputDialog(null, "是否继续(y/n)");
//忽略大小写是否相等
if ("y".equalsIgnoreCase(isContinue)) {
addStaff();
} else if ("n".equalsIgnoreCase(isContinue)) {
return;
}
}
/***
* 判断工号是否存在
* @return true 表示工号存在
*/
public static boolean checkNum(String num) {
for (int i = 0; i < count; i++) {
if (num.equals(numArray[i])) {
return true;
}
}
return false;
}
/**
* 显示员工信息
*/
public static void showInfo() {
String info = "工号 " + "姓名 " + "工资\n";
for (int i = 0; i < count; i++) {
info += numArray[i] + " " + nameArray[i] + " " + wageArray[i] + "\n";
}
JOptionPane.showMessageDialog(null, info);
}
/***
* 超出原数组,创建新数组
*/
public static void addArray() {
//定义新数组,长度不够时+10
String[] newNumArray = new String[count + 10];
String[] newNameArray = new String[count + 10];
int[] newWageArray = new int[count + 10];
//遍历旧数组,将旧数组的值赋给新数组
for (int i = 0; i<count; i++) {
newNumArray[i] = numArray[i];
newNameArray[i] = nameArray[i];
newWageArray[i] = wageArray[i];
}
//将原来的数组指向新数组
numArray = newNumArray;
nameArray = newNameArray;
wageArray = newWageArray;
}
/***
*判断姓名是否存在
* @return -1 表示找不到
*/
public static int checkIsNo() {
String InputName = JOptionPane.showInputDialog(null, "请输入要删除的姓名:");
for (int i = 0; i < count; i++) {
if (InputName.equals(nameArray[i])) {
return i;
}
}
JOptionPane.showMessageDialog(null, "查无此人");
return -1;
}
/***
* 删除员工
*/
public static void delStaff() {
int index = checkIsNo();
if (index != -1) {
//用后一个替换前一个元素
for (int i = index; i < count - 1; i++) {
numArray[i] = numArray[i + 1];
nameArray[i] = nameArray[i + 1];
wageArray[i] = wageArray[i + 1];
}
count--;
}
showInfo();
}
/***
* 查询员工信息
*/
public static void selectInfo() {
int index = checkIsNo();
if (index != -1) {
JOptionPane.showMessageDialog(null, "工号: "+numArray[index] + "\n" + "姓名: "+nameArray[index]
+ "\n" + "工资: "+wageArray[index]);
}
}
/***
* 修改工资
*/
public static void upateMoney() {
int index = checkIsNo();
if (index != -1) {
String updateWage = JOptionPane.showInputDialog(null, "请输入修改的工资:");
wageArray[index] = Integer.parseInt(updateWage);
showInfo();
}
}
/***
* 按工资排序显示工资单
*/
public static void rankWage() {
for (int i = 0; i < count; i++) {
for (int j = i + 1; j < count; j++) {
if (wageArray[i] < wageArray[j]) {
String num = numArray[i];
numArray[i] = numArray[j];
numArray[j] = num;
String name = nameArray[i];
nameArray[i] = nameArray[j];
nameArray[j] = name;
int wage = wageArray[i];
wageArray[i] = wageArray[j];
wageArray[j] = wage;
}
}
}
showInfo();
}
}