import java.util.Scanner;
public class StudentManagementSystem {
public static void main(String[] args) {
// 做一个学员信息管理系统,目前仅支持以<姓名>的方式对学员信息进行管理(增删改查),即管理只是学员的姓名信息
Scanner scanner = new Scanner(System.in);
boolean flage = true;
while (flage) {
System.out.println("请选择需要操作的功能:\n1-添加\t2-删除\t3-修改\t4-查询\t5-退出");
int num = scanner.nextInt();
switch (num) {
case 1:
System.out.println("请输入需要添加的名字:");
name = scanner.next();
bool = add(name);
if (bool) {
System.out.println("添加成功");
} else {
System.out.println("添加失败");
}
break;
case 2:
System.out.println("请输入需要删除的名字:");
String name = scanner.next();
bool = delete(name);
if (bool) {
System.out.println("删除成功");
} else {
System.out.println("删除失败");
}
break;
case 3:
System.out.println("请输入需要修改的名字:");
name = scanner.next();
System.out.println("请输入修改后的名字");
String newName = scanner.next();
bool = update(name, newName);
if (bool) {
System.out.println("修改成功");
} else {
System.out.println("修改失败");
}
break;
case 4:
print();
break;
case 5:
System.out.println("欢迎下次使用,再见!");
flage = false;
break;
default:
System.out.println("选择错误,请重新输入");
break;
}
}
scanner.close();
}
public static String name;
public static boolean bool;
public static String[] names = new String[3];
public static int point = 0;
// 添加
public static boolean add(String name) {
// 判断合法性
if (!isOk(name)) {
return false;
}
// 判断是否存在
if (query(name) != -1) {
System.out.println("姓名已存在");
return false;
}
// 扩容
if (point == names.length) {
addCapacity();
}
// 添加
names[point] = name;
point++;
return true;
}
// 删除
public static boolean delete(String name) {
// 判断合法性
if (!isOk(name)) {
return false;
}
// 判断是否存在
int index = query(name);
if (index == -1) {
System.out.println("姓名不存在");
return false;
}
// 删除
for (int i = index; i < point; i++) {
names[i] = names[i + 1];
}
point--;
return true;
}
// 修改
public static boolean update(String name, String newName) {
if (!isOk(name) || !isOk(newName)) {
return false;
}
// 判断是否存在
int index = query(name);
if (index == -1) {
System.out.println("姓名不存在");
return false;
}
if (query(newName) != -1) {
System.out.println("姓名已存在");
return false;
}
// 修改
names[index] = newName;
return true;
}
// 查询
public static int query(String name) {
for (int i = 0; i < point; i++) {
if (names[i].equals(name)) {
return i;
}
}
return -1;
}
// 判断合法性
public static boolean isOk(String name) {
if (name.length() < 2 || name.length() > 8) {
System.out.println("姓名不合法");
return false;
}
return true;
}
// 扩容
public static void addCapacity() {
String[] newNames = new String[names.length * 2];
for (int i = 0; i < names.length; i++) {
newNames[i] = names[i];
}
names = newNames;
}
// 打印
public static void print() {
for (int i = 0; i < point; i++) {
System.out.println(names[i]);
}
}
}
Java版-学生管理系统(一维数组)
最新推荐文章于 2024-08-28 15:30:57 发布