实现学生管理系统,完成对学员的增,删,改,查和退出学生管理系统。要求1:使用一个数组用于保存学生的姓名。要求2:输入0显示所有学员信息,1代表增加,2代表删除,3代表修改,4代表查询,exit代表退出学生管理系统。每一个功能定义一个自定义函数(暂时不要求实现)。界面如下: ******欢迎进入T124班学生管理系统******请选择:0:显示所有学员信息1:添加一个学员2:删除一个学员3:修改一个学员4:查询一个学员exit:退出学生管理系统'0["郭易","汤碗珍"]1请输入增加人的姓名:张三["郭易","汤碗珍",'张三']2请输入删除人的姓名:张三["郭易","汤碗珍"]3请输入需要修改人的姓名:张三请输入需要修改后的姓名:李四["郭易","汤碗珍",'李四']4请输入查询人的姓名:张三在座位号(下标)3的位置。exit欢迎使用T124的学生管理系统,下次再见。
用数组怎么实现?
用数组怎么实现?
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
public class Management { // 有效输入
static final List<String> VALID = Arrays.asList("0","1","2","3","4","exit");
static final String MSG = "0显示所有学员信息,1代表增加,2代表删除,3代表修改,4代表查询,exit代表退出";
static String [] stuName = new String[0]; public static void main(String[] args) {
boolean exit = false;
System.out.println("******欢迎进入T124班学生管理系统******");
while (!exit) {
System.out.println("输入:" + MSG);
Scanner scanner = new Scanner(System.in);
if (!scanner.hasNext()) {
System.out.println("请输入有效效的数字," + MSG);
continue;
}
String next = scanner.next();
if (!VALID.contains(next)) {
System.err.println("输入有误,请重新输入," + MSG);
}
switch (next) {
case "0":
showAllStu();
break;
case "1":
Scanner add = new Scanner(System.in);
String addStu = add.next();
addStu(addStu);
showAllStu();
break;
case "2":
Scanner del = new Scanner(System.in);
String delStu = del.next();
deleteStu(delStu);
showAllStu();
break;
case "3":
Scanner modify = new Scanner(System.in);
String modifyStu = modify.next();
modifyStu(modifyStu);
showAllStu();
break;
case "4":
Scanner check = new Scanner(System.in);
String checkStu = check.next();
check(checkStu);
break;
case "exit":
exit();
break;
}
} System.out.println("欢迎使用T124的学生管理系统,下次再见");
} // 退出
private static void exit() {
System.exit(0);
}
private static void showAllStu(){
System.out.println(stuName.length == 0 ? "暂无学员信息": Arrays.toString(stuName));
}
// 添加
private static void addStu(String stu){
int length = stuName.length;
stuName = new String[++ length];
stuName[--length] = stu;
} // 删除
private static void deleteStu(String stu) {
if (stuName.length == 0) {
System.out.println("暂无学员信息,无法删除");
return;
}
for (int i = 0; i < stuName.length; i++) {
if (stu.equals(stuName[i])) {
stuName[i] = null;
}
}
} // 修改
private static void modifyStu(String stu){
if (stuName.length == 0) {
System.out.println("暂无学员信息,无法修改");
return;
}
for (int i = 0; i < stuName.length; i++) {
if (stu.equals(stuName[i])) {
stuName[i] = stu;
}
}
}
private static void check(String stu){
if (stuName.length == 0) {
System.out.println("暂无学员信息,无法查询");
return;
}
for (int i = 0; i < stuName.length; i++) {
if (stu.equals(stuName[i])) {
System.out.println("学员:" + stu + "的位置是 = " + i);
}
}
}
}