Sistema de gestión de estudiantes Java (explicación detallada)



A continuación compartiré algunos de mis métodos y códigos de programa para su referencia cuando realice este ejercicio (el código completo del proyecto se adjunta al final).

Dividí todo el proyecto en cuatro partes: Student.Java, Main.Java, FunctionModule.java, Extents.Java



clase de estudiante


Primero cree la clase de estudiante y el constructor.


代码如下:

package com.studentmodule;

/**
 * @author wenjie
 */

public class Student {
    
    
    private int stuId;
    private int grade;
    private String name;
    private int age;
    private String address;

    public Student() {
    
    
    }

    public Student(int stuId, int grade, String name, int age, String address) {
    
    
        this.stuId = stuId;
        this.grade = grade;
        this.name = name;
        this.age = age;
        this.address = address;
    }

    public int getStuId() {
    
    
        return stuId;
    }

    public void setStuId(int stuId) {
    
    
        this.stuId = stuId;
    }

    public int getGrade() {
    
    
        return grade;
    }

    public void setGrade(int grade) {
    
    
        this.grade = grade;
    }

    public String getName() {
    
    
        return name;
    }

    public void setName(String name) {
    
    
        this.name = name;
    }

    public int getAge() {
    
    
        return age;
    }

    public void setAge(int age) {
    
    
        this.age = age;
    }

    public String getAddress() {
    
    
        return address;
    }

    public void setAddress(String address) {
    
    
        this.address = address;
    }
}


método principal


¡Luego, comience a "ejecutar" desde el método principal!



package com.studentmodule;

import java.awt.*;
import java.util.ArrayList;
import java.util.Scanner;

    /**
     * @author wenjie
     */
    public class Main {
    
    

    static final int COUNT = 2;
    static final String MYSID = "admin";
    static final String MYPASSWD = "666666";

    public static void main(String[] args) throws AWTException {
    
    
        interFace();
    }


Inicio de sesión en la primera interfaz


Primero ejecute el programa para ingresar a la siguiente primera interfaz para la selección de inicio de sesión, seleccione 1 para ingresar a la interfaz de inicio de sesión, seleccione 0 para salir del programa, todos los programas de selección tienen juicios de error, los siguientes juicios de selección son los mismos, si la entrada es incorrecta, le pedirá que vuelva a ingresar.


inserte la descripción de la imagen aquí


代码如下:

public static void interFace() throws AWTException {
    
    
        System.out.println(">首界面\n");
        System.out.println("\t*****************************************************************");
        System.out.println("\t                           首界面                              ");
        System.out.println("\t ---------------------------------------------------------------");
        System.out.println("\t                开始登录                   请输入1               ");
        System.out.println("\t ---------------------------------------------------------------");
        System.out.println("\t                退出                      请输入0               ");
        System.out.println("\t*****************************************************************");
        Scanner sc = new Scanner(System.in);
        System.out.print("\n请输入您的选择: ");
        while (true) {
    
    
            int choose = sc.nextInt();
            if (choose == 1) {
    
    
                register();
                break;
            } else if (choose == 0) {
    
    
                System.out.println("退出成功!");
                System.exit(0);
            } else {
    
    
                System.out.print("看清选项! 再给你一次机会:");
            }
        }
    }

Ingrese el nombre de usuario y la contraseña correctos para iniciar sesión a través del teclado. Tiene tres oportunidades para ingresar. Si ingresa incorrectamente tres veces, el programa se cerrará automáticamente.


代码如下:

public static void register() throws AWTException {
    
    
        for (int i = COUNT; i >= 0; i--) {
    
    
            Scanner sc = new Scanner(System.in);
            System.out.print("请输入您的用户名: ");
            String loginSid = sc.nextLine();
            System.out.print("请输入您的密码: ");
            String loginPassWd = sc.nextLine();
            if (loginSid.equals(MYSID) && loginPassWd.equals(MYPASSWD)) {
    
    
                Extents.clearConsole();
                System.out.println("欢迎登录! 用户:" + MYSID + "\n\n");
                menu();
                break;
            } else {
    
    
                if (i == 0) {
    
    
                    System.out.println("你是不是傻!");
                    System.exit(0);
                }
                System.out.println("错了错了, 你还有 " + i + " 次机会");
            }
        }
    }


Interfaz de selección de funciones


Después de que la entrada sea correcta, ingrese a la siguiente interfaz de selección de funciones, ingrese el número de serie correspondiente para realizar cuatro operaciones en la información del estudiante (agregar, eliminar, modificar, verificar), e ingrese 'q' para volver al nivel superior e ingrese 'p' para salir del programa.


inserte la descripción de la imagen aquí


代码如下:


public static void menu() throws AWTException {
    
    
        ArrayList<Student> stu = new ArrayList<>();
        while (true) {
    
    
            System.out.println(">首界面>功能界面\n");
            System.out.println("\t*****************************************************************");
            System.out.println("\t                      欢迎来到学生管理系统!                      ");
            System.out.println("\t ---------------------------------------------------------------");
            System.out.println("\t                         1.添加学生信息                          ");
            System.out.println("\t ---------------------------------------------------------------");
            System.out.println("\t                         2.删除学生信息                          ");
            System.out.println("\t ---------------------------------------------------------------");
            System.out.println("\t                         3.修改学生信息                          ");
            System.out.println("\t ---------------------------------------------------------------");
            System.out.println("\t                         4.查看学生信息                          ");
            System.out.println("\t ---------------------------------------------------------------");
            System.out.println("\t         q:返回上级菜单                  p:退出管理系统          ");
            System.out.println("\t******************************************************************");
            Scanner sc = new Scanner(System.in);
            System.out.print("\n请输入您的选择:");
            String choose = sc.nextLine();
            switch (choose) {
    
    
                case "1":
                    FunctionalBlock.addStu(stu);
                    break;
                case "2":
                    Extents.clearConsole();
                    FunctionalBlock.deleteStu(stu);
                    break;
                case "3":
                    Extents.clearConsole();
                    FunctionalBlock.updateStu(stu);
                    break;
                case "4":
                    Extents.clearConsole();
                    FunctionalBlock.showStu(stu);
                    Extents.isShow(sc);
                    break;
                case "q":
                    Extents.clearConsole();
                    interFace();
                    return;
                case "p":
                    System.out.println("退出成功!");
                    System.exit(0);
                default:
                    Extents.clearConsole();
                    System.out.println("这都错!看清选项再选\n\n\n");
                    break;
            }
        }
    }


Agregar información del estudiante


Si no se ha agregado información del estudiante (el número de estudiantes es 0), cuando elimine, modifique, vea, etc., se le preguntará "Los datos están vacíos, agregue datos y luego opere". 1 para agregar estudiantes e ingrese el número que desea agregar Información del estudiante, después de ingresar, se imprimirá y se le preguntará si desea agregar, ingrese 1 para agregar el estudiante, de lo contrario ingrese 0 para cancelar la adición del estudiante, después de agregar un estudiante información, también imprimirá toda la información del alumno, y finalmente se puede optar por seguir agregando o volver al superior. Aquí, se muestra el último número de estudiante después de la reunión, porque cada número de estudiante es único, por lo que dejo que se incremente en 1 después de agregar un estudiante sin entrada manual.


inserte la descripción de la imagen aquí


代码如下:


public static void addStu(ArrayList<Student> stu) throws AWTException {
    
    
        while (true) {
    
    
            Extents.clearConsole();
            System.out.println(">首界面>功能界面>添加学生信息\n\n");
            Scanner sc = new Scanner(System.in);
            System.out.print("请输入学生班级(例:3): ");
            int grade = sc.nextInt();
            System.out.print("请输入学生姓名(例:张三): ");
            String name = sc.next();
            System.out.print("请输入学生年龄(例:18): ");
            int age = sc.nextInt();
            System.out.print("请输入学生地址(例:深圳): ");
            String address = sc.next();
            System.out.println("\n\n-----------------------------------------------------");
            System.out.println("班级: " + grade + "\t\t姓名: " + name + "\t\t年龄: " + age + "\t\t地址: " + address);
            System.out.print("\n\n是否添加该学生信息? [Yes(1) / No(0)] :");
            Extents.isAdd(stu, sc, grade, name, age, address);
            System.out.println("\n\n\n>首界面>功能界面>添加学生信息\n");
            System.out.println("\t                继续添加                   请输入1               ");
            System.out.println();
            System.out.println("\t                返回上级                   请输入0               ");
            System.out.println("\t ---------------------------------------------------------------");
            System.out.print("\n请输入您的选择:");
            while (true) {
    
    
                int choose = sc.nextInt();
                if (choose == 1) {
    
    
                    break;
                } else if (choose == 0) {
    
    
                    Extents.clearConsole();
                    return;
                } else {
    
    
                    System.out.print("看清选项! 再给你一次机会: ");
                }
            }
        }
    }


public static void isAdd(ArrayList<Student> stu, Scanner sc, int grade, String name, int age, String address) throws AWTException {
    
    
        while (true) {
    
    
            int is = sc.nextInt();
            if (is == 0) {
    
    
                Extents.clearConsole();
                System.out.println("取消成功!");
                break;
            } else if (is == 1) {
    
    
                Student s = new Student(stuId, grade, name, age, address);
                stu.add(s);
                stuId += 1;
                Extents.clearConsole();
                System.out.println("添加信息成功!\n\n");
                FunctionalBlock.showStu(stu);
                break;
            }
            System.out.print("\n输入错误!请重新输入:");
        }
    }

eliminar información del estudiante


Después de agregar la información del estudiante, ingresamos 0 para regresar al menú superior y luego seleccionamos 2 para eliminar estudiantes. Primero, se imprimirá toda la información del estudiante y luego ingrese el número de estudiante de la información del estudiante que desea eliminar. Si el estudiante el número no existe, solicitará y volverá a ingresar, y finalmente confirmará si desea eliminar la información del estudiante, seleccione 1 para eliminar, seleccione 0 para cancelar la eliminación, después de eliminar, imprimirá toda la información del estudiante después de la operación nuevamente, y encontrará que el número de estudiantes ha cambiado de 3 a 2 en este momento, y la información recién eliminada se ha ido, y puede elegir continuar eliminando y volver al menú anterior.


inserte la descripción de la imagen aquí


代码如下:


public static void deleteStu(ArrayList<Student> stu) throws AWTException {
    
    
        Scanner sc = new Scanner(System.in);
        showStu(stu);
        while (true) {
    
    
            System.out.print("\n请输入要删除的学生学号:");
            int sid = sc.nextInt();
            sc.nextLine();
            int flag = Extents.getFlag(stu, sid);
            if (flag == -1) {
    
    
                System.out.print("\n该学号不存在,请重新输入\n");
            } else {
    
    
                System.out.print("\n是否删除学号为:" + sid + " 的学生信息? [Yes(1) / No(0)] :");
                Extents.isDlete(stu, sc, flag);
                System.out.println("\n\n\n>首界面>功能界面>删除学生信息\n");
                System.out.println("\t                继续删除                   请输入1                ");
                System.out.println();
                System.out.println("\t                返回上级                   请输入0                ");
                System.out.println("\t ----------------------------------------------------------------");
                System.out.print("\n请输入您的选择: ");
                while (true) {
    
    
                    int choose = sc.nextInt();
                    if (choose == 1) {
    
    
                        break;
                    } else if (choose == 0) {
    
    
                        Extents.clearConsole();
                        return;
                    } else {
    
    
                        System.out.print("看清选项! 再给你一次机会: ");
                    }
                }
            }
        }
    }


public static void isDlete(ArrayList<Student> stu, Scanner sc, int flag) throws AWTException {
    
    
        while (true) {
    
    
            int is = sc.nextInt();
            if (is == 0) {
    
    
                Extents.clearConsole();
                System.out.println("取消成功!");
                break;
            } else if (is == 1) {
    
    
                stu.remove(flag);
                Extents.clearConsole();
                System.out.println("删除学生信息成功!\n\n");
                FunctionalBlock.showStu(stu);
                break;
            }
            System.out.print("\n输入错误!请重新输入:");
        }
    }

Modificar la información del estudiante


Después de eliminar la información del estudiante cuyo número de estudiante es 2, ingresamos 0 para regresar al menú superior, luego ingresamos 3 para modificar la operación.También imprima primero toda la información del estudiante, y seleccione la información del estudiante número de estudiante que desea modificar .Si el número de estudiante no existe, se ejecutará Solicitar y volver a ingresar, y luego ingresar la información del estudiante para modificarla a su vez de acuerdo con las instrucciones.Después de la entrada, se imprimirá la información del estudiante antes y después de la modificación para que usted compare.Finalmente, ingrese 1 para modificar e ingrese 0 para cancelar la modificación.Después de la modificación, imprima nuevamente.Toda la información del estudiante se verifica para confirmar.


inserte la descripción de la imagen aquí


代码如下:


public static void updateStu(ArrayList<Student> stu) throws AWTException {
    
    
        Scanner sc = new Scanner(System.in);
        while (true) {
    
    
            showStu(stu);
            System.out.print("\n\n请输入要修改信息的学生学号:");
            int sidUpdate = sc.nextInt();
            int flag = Extents.getFlag(stu, sidUpdate);
            Extents.clearConsole();
            if (flag == -1) {
    
    
                System.out.print("该学号不存在,请重新输入\n\n\n ");
            } else {
    
    
                System.out.println(">首界面>功能界面>修改学生信息\n\n");
                System.out.print("请输入学生班级: ");
                int grade = sc.nextInt();
                System.out.print("请输入学生姓名: ");
                String name = sc.next();
                System.out.print("请输入学生年龄: ");
                int age = sc.nextInt();
                System.out.print("请输入学生地址: ");
                String address = sc.next();
                Extents.clearConsole();
                Extents.getFlag(stu, sidUpdate);
                Student s1 = stu.get(flag);
                System.out.println(">首界面>功能界面>修改学生信息");
                System.out.println("\n\n------------------------------------------------------------------");
                System.out.println("修改前——>\n");
                System.out.println("学号:" + s1.getStuId() + "\t\t班级: " + s1.getGrade() + "\t\t姓名: "
                        + s1.getName() + "\t\t年龄: " + s1.getAge() + "\t\t地址: " + s1.getAddress());
                System.out.println("\n\n------------------------------------------------------------------");
                System.out.println("修改后——>\n");
                System.out.println("学号:" + sidUpdate + "\t\t班级: " + grade + "\t\t姓名: " + name + "\t\t年龄: "
                        + age + "\t\t地址: " + address);
                System.out.print("\n\n是否修改该学生信息? [Yes(1) / No(0)] :");
                Extents.isUpdata(stu, sc, sidUpdate, flag, grade, name, age, address);
                System.out.println("\n\n\n>首界面>功能界面>修改学生信息\n");
                System.out.println("\t                继续修改                   请输入1              ");
                System.out.println();
                System.out.println("\t                返回上级                   请输入0              ");
                System.out.println("\t --------------------------------------------------------------");
                System.out.print("\n请输入您的选择:");
                while (true) {
    
    
                    int choose = sc.nextInt();
                    if (choose == 1) {
    
    
                        Extents.clearConsole();
                        break;
                    } else if (choose == 0) {
    
    
                        Extents.clearConsole();
                        return;
                    } else {
    
    
                        System.out.print("看清选项! 再给你一次机会: ");
                    }
                }
            }
        }
    }


public static void isUpdata(ArrayList<Student> stu, Scanner sc, int sidUpdate, int flag, int grade, String name, int age, String address) throws AWTException {
    
    
        while (true) {
    
    
            int is = sc.nextInt();
            if (is == 0) {
    
    
                Extents.clearConsole();
                System.out.println("取消成功!");
                break;
            } else if (is == 1) {
    
    
                Student newStu = new Student(sidUpdate, grade, name, age, address);
                stu.set(flag, newStu);
                Extents.clearConsole();
                System.out.println("修改学生信息成功!\n\n");
                FunctionalBlock.showStu(stu);
                break;
            }
            System.out.print("\n输入错误!请重新输入:");
        }
    }

Ver información del estudiante


Finalmente, revisamos a los estudiantes, de hecho, en la adición, eliminación y modificación anterior, la función de búsqueda se llamaba con frecuencia para imprimir toda la información de los estudiantes, pero hablemos de eso, ingrese 0 para regresar al menú superior y luego ingrese 4 para ver toda la información del estudiante, ingrese 0 para volver al menú superior y finalmente ingrese 'q' para salir del programa.


inserte la descripción de la imagen aquí


代码如下:


public static void showStu(ArrayList<Student> stu) throws AWTException {
    
    
        if (stu.size() == 0) {
    
    
            Extents.clearConsole();
            System.out.println("数据为空,请添加数据后操作!\n\n");
            Main.menu();
        } else {
    
    
            System.out.println(">学生信息显示\n");
            System.out.println("学生个数:"+stu.size() + "人\n");
            System.out.println("\t ----------------------------------------------------------------");
            System.out.println("\t   学号\t\t" + "   班级\t\t" + " \t姓名\t" + "\t\t年龄" + " \t\t\t地址");
            System.out.println("\t  --------------------------------------------------------------");
            /*for (int i = 0; i < stu.size(); i++) {
                Student s = stu.get(i);*/
            for (Student s : stu) {
    
    
                System.out.println("\t\t" + s.getStuId() + "\t\t\t" + s.getGrade() + " \t\t\t" + s.getName()
                        + " \t\t\t" + s.getAge() + "  \t\t\t" + s.getAddress() + "\n");
                System.out.println("\t  --------------------------------------------------------------");
            }
        }
    }


public static void isShow(Scanner sc) throws AWTException {
    
    
        System.out.println("\n\n\n>首界面>功能界面>查看学生信息\n\n");
        System.out.println("\t              返回上级                     请输入0           ");
        System.out.println("\t ---------------------------------------------------------------");
        System.out.print("\n请输入您的选择: ");
        while (true) {
    
    
            int choose1 = sc.nextInt();
            if (choose1 == 0) {
    
    
                Extents.clearConsole();
                break;
            } else {
    
    
                System.out.print("看清选项! 再给你一次机会: ");
            }
        }
    }


Recorrido del número de estudiante y limpieza del método de la consola


Uno de los siguientes dos métodos se utiliza para recorrer el número de estudiante, encontrar el número de estudiante del estudiante correspondiente para obtener la información del estudiante y luego operar con la información del estudiante del número de estudiante.

Otro método es borrar la consola, este método se explica en detalle en mi artículo anterior, si quieres saber más, puedes hacer clic en este enlace para verlo.


链接:

IDEA borra la consola y ejecuta el comando cmd en Java para realizar la operación de limpieza de pantalla



public static int getFlag(ArrayList<Student> stu, int sid) {
    
    
        int flag = -1;
        for (int i = 0; i < stu.size(); i++) {
    
    
            Student s = stu.get(i);
            if (s.getStuId() == sid) {
    
    
                flag = i;
                break;
            }
        }
        return flag;
    }


public static void clearConsole() throws AWTException {
    
    
        Robot r = new Robot();
        // 按下Ctrl键
        r.keyPress(KeyEvent.VK_CONTROL);
        // 按下R键
        r.keyPress(KeyEvent.VK_R);
        // 释放R键
        r.keyRelease(KeyEvent.VK_R);
        // 释放Ctrl键
        r.keyRelease(KeyEvent.VK_CONTROL);
        r.delay(50);
    }

Bueno, aquí el programa está casi terminado de ejecutarse, y básicamente se presentan todas las funciones, es decir, las cuatro operaciones básicas (agregar, eliminar, modificar, verificar).



Adjunto: Código del sistema de gestión de estudiantes


Finalmente adjuntar el código del proyecto completo del sistema de gestión de alumnos


Estudiante .Java


package com.studentmodule;

/**
 * @author wenjie
 */

public class Student {
    
    
    private int stuId;
    private int grade;
    private String name;
    private int age;
    private String address;

    public Student() {
    
    
    }

    public Student(int stuId, int grade, String name, int age, String address) {
    
    
        this.stuId = stuId;
        this.grade = grade;
        this.name = name;
        this.age = age;
        this.address = address;
    }

    public int getStuId() {
    
    
        return stuId;
    }

    public void setStuId(int stuId) {
    
    
        this.stuId = stuId;
    }

    public int getGrade() {
    
    
        return grade;
    }

    public void setGrade(int grade) {
    
    
        this.grade = grade;
    }

    public String getName() {
    
    
        return name;
    }

    public void setName(String name) {
    
    
        this.name = name;
    }

    public int getAge() {
    
    
        return age;
    }

    public void setAge(int age) {
    
    
        this.age = age;
    }

    public String getAddress() {
    
    
        return address;
    }

    public void setAddress(String address) {
    
    
        this.address = address;
    }
}


Principal.Java


package com.studentmodule;

import java.awt.*;
import java.util.ArrayList;
import java.util.Scanner;

/**
 * @author wenjie
 */
public class Main {
    
    

    static final int COUNT = 2;
    static final String MYSID = "admin";
    static final String MYPASSWD = "666666";

    public static void main(String[] args) throws AWTException {
    
    
        interFace();
    }

    public static void interFace() throws AWTException {
    
    
        System.out.println(">首界面\n");
        System.out.println("\t*****************************************************************");
        System.out.println("\t                           首界面                              ");
        System.out.println("\t ---------------------------------------------------------------");
        System.out.println("\t                开始登录                   请输入1               ");
        System.out.println("\t ---------------------------------------------------------------");
        System.out.println("\t                退出                      请输入0               ");
        System.out.println("\t*****************************************************************");
        Scanner sc = new Scanner(System.in);
        System.out.print("\n请输入您的选择: ");
        while (true) {
    
    
            int choose = sc.nextInt();
            if (choose == 1) {
    
    
                register();
                break;
            } else if (choose == 0) {
    
    
                System.out.println("退出成功!");
                System.exit(0);
            } else {
    
    
                System.out.print("看清选项! 再给你一次机会:");
            }
        }
    }

    public static void register() throws AWTException {
    
    
        for (int i = COUNT; i >= 0; i--) {
    
    
            Scanner sc = new Scanner(System.in);
            System.out.print("请输入您的用户名: ");
            String loginSid = sc.nextLine();
            System.out.print("请输入您的密码: ");
            String loginPassWd = sc.nextLine();
            if (loginSid.equals(MYSID) && loginPassWd.equals(MYPASSWD)) {
    
    
                Extents.clearConsole();
                System.out.println("欢迎登录! 用户:" + MYSID + "\n\n");
                menu();
                break;
            } else {
    
    
                if (i == 0) {
    
    
                    System.out.println("你是不是傻!");
                    System.exit(0);
                }
                System.out.println("错了错了, 你还有 " + i + " 次机会");
            }
        }
    }

    public static void menu() throws AWTException {
    
    
        ArrayList<Student> stu = new ArrayList<>();
        while (true) {
    
    
            System.out.println(">首界面>功能界面\n");
            System.out.println("\t*****************************************************************");
            System.out.println("\t                      欢迎来到学生管理系统!                      ");
            System.out.println("\t ---------------------------------------------------------------");
            System.out.println("\t                         1.添加学生信息                          ");
            System.out.println("\t ---------------------------------------------------------------");
            System.out.println("\t                         2.删除学生信息                          ");
            System.out.println("\t ---------------------------------------------------------------");
            System.out.println("\t                         3.修改学生信息                          ");
            System.out.println("\t ---------------------------------------------------------------");
            System.out.println("\t                         4.查看学生信息                          ");
            System.out.println("\t ---------------------------------------------------------------");
            System.out.println("\t         q:返回上级菜单                  p:退出管理系统          ");
            System.out.println("\t******************************************************************");
            Scanner sc = new Scanner(System.in);
            System.out.print("\n请输入您的选择:");
            String choose = sc.nextLine();
            switch (choose) {
    
    
                case "1":
                    FunctionalBlock.addStu(stu);
                    break;
                case "2":
                    Extents.clearConsole();
                    FunctionalBlock.deleteStu(stu);
                    break;
                case "3":
                    Extents.clearConsole();
                    FunctionalBlock.updateStu(stu);
                    break;
                case "4":
                    Extents.clearConsole();
                    FunctionalBlock.showStu(stu);
                    Extents.isShow(sc);
                    break;
                case "q":
                    Extents.clearConsole();
                    interFace();
                    return;
                case "p":
                    System.out.println("退出成功!");
                    System.exit(0);
                default:
                    Extents.clearConsole();
                    System.out.println("这都错!看清选项再选\n\n\n");
                    break;
            }
        }
    }
}

FunctionModule.java


package com.studentmodule;


import java.awt.*;
import java.util.ArrayList;
import java.util.Scanner;

/**
 * @author wenjie
 */
public class FunctionalBlock {
    
    

    public static void addStu(ArrayList<Student> stu) throws AWTException {
    
    
        while (true) {
    
    
            Extents.clearConsole();
            System.out.println(">首界面>功能界面>添加学生信息\n\n");
            Scanner sc = new Scanner(System.in);
            System.out.print("请输入学生班级(例:3): ");
            int grade = sc.nextInt();
            System.out.print("请输入学生姓名(例:张三): ");
            String name = sc.next();
            System.out.print("请输入学生年龄(例:18): ");
            int age = sc.nextInt();
            System.out.print("请输入学生地址(例:深圳): ");
            String address = sc.next();
            System.out.println("\n\n-----------------------------------------------------");
            System.out.println("班级: " + grade + "\t\t姓名: " + name + "\t\t年龄: " + age + "\t\t地址: " + address);
            System.out.print("\n\n是否添加该学生信息? [Yes(1) / No(0)] :");
            Extents.isAdd(stu, sc, grade, name, age, address);
            System.out.println("\n\n\n>首界面>功能界面>添加学生信息\n");
            System.out.println("\t                继续添加                   请输入1               ");
            System.out.println();
            System.out.println("\t                返回上级                   请输入0               ");
            System.out.println("\t ---------------------------------------------------------------");
            System.out.print("\n请输入您的选择:");
            while (true) {
    
    
                int choose = sc.nextInt();
                if (choose == 1) {
    
    
                    break;
                } else if (choose == 0) {
    
    
                    Extents.clearConsole();
                    return;
                } else {
    
    
                    System.out.print("看清选项! 再给你一次机会: ");
                }
            }
        }
    }

    public static void deleteStu(ArrayList<Student> stu) throws AWTException {
    
    
        Scanner sc = new Scanner(System.in);
        showStu(stu);
        while (true) {
    
    
            System.out.print("\n请输入要删除的学生学号:");
            int sid = sc.nextInt();
            sc.nextLine();
            int flag = Extents.getFlag(stu, sid);
            if (flag == -1) {
    
    
                System.out.print("\n该学号不存在,请重新输入\n");
            } else {
    
    
                System.out.print("\n是否删除学号为:" + sid + " 的学生信息? [Yes(1) / No(0)] :");
                Extents.isDlete(stu, sc, flag);
                System.out.println("\n\n\n>首界面>功能界面>删除学生信息\n");
                System.out.println("\t                继续删除                   请输入1                ");
                System.out.println();
                System.out.println("\t                返回上级                   请输入0                ");
                System.out.println("\t ----------------------------------------------------------------");
                System.out.print("\n请输入您的选择: ");
                while (true) {
    
    
                    int choose = sc.nextInt();
                    if (choose == 1) {
    
    
                        break;
                    } else if (choose == 0) {
    
    
                        Extents.clearConsole();
                        return;
                    } else {
    
    
                        System.out.print("看清选项! 再给你一次机会: ");
                    }
                }
            }
        }
    }

    public static void updateStu(ArrayList<Student> stu) throws AWTException {
    
    
        Scanner sc = new Scanner(System.in);
        while (true) {
    
    
            showStu(stu);
            System.out.print("\n\n请输入要修改信息的学生学号:");
            int sidUpdate = sc.nextInt();
            int flag = Extents.getFlag(stu, sidUpdate);
            Extents.clearConsole();
            if (flag == -1) {
    
    
                System.out.print("该学号不存在,请重新输入\n\n\n ");
            } else {
    
    
                System.out.println(">首界面>功能界面>修改学生信息\n\n");
                System.out.print("请输入学生班级: ");
                int grade = sc.nextInt();
                System.out.print("请输入学生姓名: ");
                String name = sc.next();
                System.out.print("请输入学生年龄: ");
                int age = sc.nextInt();
                System.out.print("请输入学生地址: ");
                String address = sc.next();
                Extents.clearConsole();
                Extents.getFlag(stu, sidUpdate);
                Student s1 = stu.get(flag);
                System.out.println(">首界面>功能界面>修改学生信息");
                System.out.println("\n\n------------------------------------------------------------------");
                System.out.println("修改前——>\n");
                System.out.println("学号:" + s1.getStuId() + "\t\t班级: " + s1.getGrade() + "\t\t姓名: "
                        + s1.getName() + "\t\t年龄: " + s1.getAge() + "\t\t地址: " + s1.getAddress());
                System.out.println("\n\n------------------------------------------------------------------");
                System.out.println("修改后——>\n");
                System.out.println("学号:" + sidUpdate + "\t\t班级: " + grade + "\t\t姓名: " + name + "\t\t年龄: "
                        + age + "\t\t地址: " + address);
                System.out.print("\n\n是否修改该学生信息? [Yes(1) / No(0)] :");
                Extents.isUpdata(stu, sc, sidUpdate, flag, grade, name, age, address);
                System.out.println("\n\n\n>首界面>功能界面>修改学生信息\n");
                System.out.println("\t                继续修改                   请输入1              ");
                System.out.println();
                System.out.println("\t                返回上级                   请输入0              ");
                System.out.println("\t --------------------------------------------------------------");
                System.out.print("\n请输入您的选择:");
                while (true) {
    
    
                    int choose = sc.nextInt();
                    if (choose == 1) {
    
    
                        Extents.clearConsole();
                        break;
                    } else if (choose == 0) {
    
    
                        Extents.clearConsole();
                        return;
                    } else {
    
    
                        System.out.print("看清选项! 再给你一次机会: ");
                    }
                }
            }
        }
    }

    public static void showStu(ArrayList<Student> stu) throws AWTException {
    
    
        if (stu.size() == 0) {
    
    
            Extents.clearConsole();
            System.out.println("数据为空,请添加数据后操作!\n\n");
            Main.menu();
        } else {
    
    
            System.out.println(">学生信息显示\n");
            System.out.println("学生个数:"+stu.size() + "人\n");
            System.out.println("\t ----------------------------------------------------------------");
            System.out.println("\t   学号\t\t" + "   班级\t\t" + " \t姓名\t" + "\t\t年龄" + " \t\t\t地址");
            System.out.println("\t  --------------------------------------------------------------");
            /*for (int i = 0; i < stu.size(); i++) {
                Student s = stu.get(i);*/
            for (Student s : stu) {
    
    
                System.out.println("\t\t" + s.getStuId() + "\t\t\t" + s.getGrade() + " \t\t\t" + s.getName()
                        + " \t\t\t" + s.getAge() + "  \t\t\t" + s.getAddress() + "\n");
                System.out.println("\t  --------------------------------------------------------------");
            }
        }
    }
}

Extensiones.Java


package com.studentmodule;

import java.awt.*;
import java.awt.event.KeyEvent;
import java.util.ArrayList;
import java.util.Scanner;

/**
 * @author wenjie
 */
public class Extents {
    
    

    public static int stuId = 1;

    public static void isAdd(ArrayList<Student> stu, Scanner sc, int grade, String name, int age, String address) throws AWTException {
    
    
        while (true) {
    
    
            int is = sc.nextInt();
            if (is == 0) {
    
    
                Extents.clearConsole();
                System.out.println("取消成功!");
                break;
            } else if (is == 1) {
    
    
                Student s = new Student(stuId, grade, name, age, address);
                stu.add(s);
                stuId += 1;
                Extents.clearConsole();
                System.out.println("添加信息成功!\n\n");
                FunctionalBlock.showStu(stu);
                break;
            }
            System.out.print("\n输入错误!请重新输入:");
        }
    }

    public static void isDlete(ArrayList<Student> stu, Scanner sc, int flag) throws AWTException {
    
    
        while (true) {
    
    
            int is = sc.nextInt();
            if (is == 0) {
    
    
                Extents.clearConsole();
                System.out.println("取消成功!");
                break;
            } else if (is == 1) {
    
    
                stu.remove(flag);
                Extents.clearConsole();
                System.out.println("删除学生信息成功!\n\n");
                FunctionalBlock.showStu(stu);
                break;
            }
            System.out.print("\n输入错误!请重新输入:");
        }
    }

    public static void isUpdata(ArrayList<Student> stu, Scanner sc, int sidUpdate, int flag, int grade, String name, int age, String address) throws AWTException {
    
    
        while (true) {
    
    
            int is = sc.nextInt();
            if (is == 0) {
    
    
                Extents.clearConsole();
                System.out.println("取消成功!");
                break;
            } else if (is == 1) {
    
    
                Student newStu = new Student(sidUpdate, grade, name, age, address);
                stu.set(flag, newStu);
                Extents.clearConsole();
                System.out.println("修改学生信息成功!\n\n");
                FunctionalBlock.showStu(stu);
                break;
            }
            System.out.print("\n输入错误!请重新输入:");
        }
    }

    public static void isShow(Scanner sc) throws AWTException {
    
    
        System.out.println("\n\n\n>首界面>功能界面>查看学生信息\n\n");
        System.out.println("\t              返回上级                     请输入0           ");
        System.out.println("\t ---------------------------------------------------------------");
        System.out.print("\n请输入您的选择: ");
        while (true) {
    
    
            int choose1 = sc.nextInt();
            if (choose1 == 0) {
    
    
                Extents.clearConsole();
                break;
            } else {
    
    
                System.out.print("看清选项! 再给你一次机会: ");
            }
        }
    }

    public static int getFlag(ArrayList<Student> stu, int sid) {
    
    
        int flag = -1;
        for (int i = 0; i < stu.size(); i++) {
    
    
            Student s = stu.get(i);
            if (s.getStuId() == sid) {
    
    
                flag = i;
                break;
            }
        }
        return flag;
    }

    public static void clearConsole() throws AWTException {
    
    
        Robot r = new Robot();
        // 按下Ctrl键
        r.keyPress(KeyEvent.VK_CONTROL);
        // 按下R键
        r.keyPress(KeyEvent.VK_R);
        // 释放R键
        r.keyRelease(KeyEvent.VK_R);
        // 释放Ctrl键
        r.keyRelease(KeyEvent.VK_CONTROL);
        r.delay(50);
    }
}


Resumir

  Lo anterior son todos los códigos de todo el proyecto, porque la mayoría de ellos están compuestos de gramática básica de Java, estructura de selección y estructura de bucle, por lo que no hay comentarios.Creo que después de aprender algo de gramática básica frente a Java, debería estar capaz de ver un Probablemente, el resto se puede entregar a Baidu.

Supongo que te gusta

Origin blog.csdn.net/m0_67559541/article/details/125856765
Recomendado
Clasificación