实现学生管理系统,完成对学员的增,删,改,查和退出学生管理系统。要求1:使用一个数组用于保存学生的姓名。要求2:输入0显示所有学员信息,1代表增加,2代表删除,3代表修改,4代表查询,exit代表退出学生管理系统。每一个功能定义一个自定义函数(暂时不要求实现)。界面如下: ******欢迎进入T124班学生管理系统******请选择:0:显示所有学员信息1:添加一个学员2:删除一个学员3:修改一个学员4:查询一个学员exit:退出学生管理系统'0["郭易","汤碗珍"]1请输入增加人的姓名:张三["郭易","汤碗珍",'张三']2请输入删除人的姓名:张三["郭易","汤碗珍"]3请输入需要修改人的姓名:张三请输入需要修改后的姓名:李四["郭易","汤碗珍",'李四']4请输入查询人的姓名:张三在座位号(下标)3的位置。exit欢迎使用T124的学生管理系统,下次再见。
用数组怎么实现?

解决方案 »

  1.   

    大概是这样package com.dotoyo.archives.system.dto;import java.util.ArrayList;
    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);
                }
            }
        }
    }