Java 学生管理系统(详解)

article/2025/9/28 10:24:07

文章目录

  • 学生类
  • main方法
  • 首界面登录
  • 功能选择界面
    • 添加学生信息
    • 删除学生信息
    • 修改学生信息
    • 查看学生信息
  • 学号遍历 和 清空控制台方法
  • 附:学生管理系统代码
    • Student .Java
    • Main.Java
    • FunctionModule.java
    • Extents.Java
  • 总结



下面会分享我在做这个练习时的一些方法以及程序代码供大家参考(最后附上完整的项目代码)。

我把整个项目分成了Student .Java、Main.Java、FunctionModule.java、Extents.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;}
}


main方法


接下来就从 main 方法开始 “ 运行 ” 吧!



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();}


首界面登录


首先运行程序进入到以下首界面进行登录选择,选择 1 进入登录界面,选择 0 则退出程序,所有的选择程序都有错误判断,以下选择判断都一样,输入错误则提示重新输入。


在这里插入图片描述


代码如下:

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 + " 次机会");}}}


功能选择界面


输入正确后进入以下功能选择界面,输入对应的序号分别对学生信息进行(增、删、改、查)四个操作,另外输入 ‘ q ’ 则返回上级,输入 ’ p‘ 则退出程序。


在这里插入图片描述


代码如下:


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;}}}

添加学生信息


如果还没有添加学生信息(学生数量为 0 )就进行删除、修改、查看等操作时就会提示 “ 数据为空,请添加数据后操作!” ,此时输入 1 进行添加学生,输入要添加的学生信息,输入完后会打印出来并询问是否添加,输入 1 则添加该学生,反之输入 0 则取消学生添加,添加一个学生信息后同样会打印出所有学生信息,最后可以选择继续添加或者返回上级。这里最后显示会后一个学号,因为学号每个学生都是唯一的,所以我让它每添加一个学生后进行自增 1 并不需要手动录入。


在这里插入图片描述


代码如下:


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输入错误!请重新输入:");}}

删除学生信息


添加了学生信息后我们输入 0 返回上级菜单然后选择 2 进行删除学生操作,首先会打印出所有学生信息,然后输入你想要删除的学生信息的学号,如果该学号不存在会进行提示并重新输入,最后确认是否删除该学生信息,选择 1 删除,选择 0 则取消删除,删除后会再次打印操作后的所有学生信息,会发现此时学生数量由 3 变成了 2 ,以及刚删除的信息则不见了,你可以选择继续删除以及返回上级菜单。


在这里插入图片描述


代码如下:


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输入错误!请重新输入:");}}

修改学生信息


删除完学号为 2 的学生信息后我们输入 0 返回上级菜单,然后输入 3 进行修改操作,同样先打印出所有学生信息,选择你想要修改的学生信息学号,如果学号不存在会进行提示并重新输入,然后根据提示依次输入要修改的学生信息,输入完后会打印出修改前和修改后的学生信息让你进行对比,最后输入 1 修改输入 0 则取消修改,修改完后再次打印所有学生的信息进行查看确认。


在这里插入图片描述


代码如下:


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输入错误!请重新输入:");}}

查看学生信息


最后就是我们的查看学生了,其实在之前的添加、删除、修改中都有频繁的调用查找功能来打印出所有学生信息,但还是讲一下吧,输入 0 返回上级菜单后再输入 4 进行查看所有学生信息,输入 0 就可以返回上级菜单了,最后可以输入 ’ q ‘ 退出程序。


在这里插入图片描述


代码如下:


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("看清选项! 再给你一次机会: ");}}}


学号遍历 和 清空控制台方法


下面这两个方法一个是用来进行学号遍历的,找到对应学生的学号获得该学生信息然后对该学号的学生信息进行操作

还有一个就是清空控制台的方法,这个方法在我上一篇文章中有详细的说明,想了解的可以点击该链接进行查看


链接:

IDEA清空控制台以及Java中运行cmd命令实现清屏操作



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);}

好了,程序运行到这里也差不多完了,所有的功能都有基本介绍一遍,就是基本的 ( 增、删、改、查 ) 四个操作。



附:学生管理系统代码


最后附上完整的学生管理系统项目的代码


Student .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;}
}

Main.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  --------------------------------------------------------------");}}}
}

Extents.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);}
}


总结

  以上就是整个项目的所有的代码了,因为大都是些 Java 的基本语法,选择结构和循环结构组成的所以就没有加什么注释了,相信学了 Java 前面的一些基本语法后应该都能看出个大概,剩下的可以交给百度。


http://chatgpt.dhexx.cn/article/TKSNIlkN.shtml

相关文章

【超详细】Java实现学生信息管理系统

项目介绍&#xff1a;用java实现学生信息的管理&#xff0c;其中录入的数据包括&#xff1a;学号、姓名、年龄、居住地等&#xff0c;并且能够实现对学生信息的添加、修改、删除、查看功能。 一、创建项目 1、项目名称&#xff1a;myStudentManager 二、创建包 1、包名称&a…

基于JAVA实现的简易学生信息管理系统(附源码)

一、前言 最近在学习JAVA&#xff0c;这几天跟着网上的视频学完基础知识之后&#xff0c;做了一个学生信息管理系统&#xff0c;写的比较普通&#xff0c;没太大亮点&#xff0c;希望可以给初学者一些参考经验&#xff0c;另外&#xff0c;如有不恰当的地方还请各位指正&am…

java学生管理系统(简单版)

简单实现学生信息添加、删除&#xff0c;修改、查询功能。根据需求&#xff0c;创建一个学生类和学生管理类&#xff0c;用容器存储学生信息&#xff0c;这里用到ArrayList<E>(ArrayList类是一个可动态修改的数组&#xff0c;使用之前需要导包import java.util.ArrayList…

Keil打开工程时,解决“Loading PDSC Debug Description Failed”错误

网上搜到一个方法是&#xff0c;把Keil.STM32Lxxx_DFP.pdsc文件中&#xff0c;删除行“Message(2, "Not a genuine ST Device! Abort connection.");”&#xff0c; 这个方法属于掩耳盗铃&#xff0c;只是不让他弹出错误而已。 正确的解决方法是&#xff0c;安装与…

STM32 Keil新建工程报错“Loading PDSC Debug Description Failed for STMicroelectronics STM32Lxxxxxxx”

在使用STM32L0xx系列和STM32L4xx系列的单片机时都遇到了打开keil工程报“Loading PDSC Debug Description Failed for STMicroelectronics STM32Lxxxxxxx”错误的问题&#xff0c;具体现象和解决方法如下图文所示&#xff1a; 找到keil的Build Output窗口提示的File路径&#x…

解决Keil安装Pack包的“Loading PDSC Debug Description Failed”错误

vision Loading PDSC Debug Description failed for STMicroelectronics STM32F103ZE Disabling usage of PDSC Debug DescriptionSee Build Output for details. connection.");" 具体的错误信息&#xff0c;可以在Build Output中查看&#xff0c;如下图所示。这个…

Disabling usage of PDSC Debug Description

STM32 Keil新建工程报错“Loading PDSC Debug Description Failed for STMicroelectronics STM32Lxxxxxxx” 在使用STM32L0xx系列和STM32L4xx系列的单片机时都遇到了打开keil工程报“Loading PDSC Debug Description Failed for STMicroelectronics STM32Lxxxxxxx”错误的问题…

Loading PDSC Debug Description failed for STMicroelectronics STM32F103ZF Disabling usage of PDSC Deb

用 STM32F103 软件仿真 &#xff0c;还需要下载安装 STM32F103 pack 文件&#xff0c;如果在 MDK 中下载较慢&#xff0c;也可以点击此处下载&#xff0c;下载后双击安装即可。 当Keil新建或者打开工程出现“ Loading PDSC Debug Description failed for STMicroelectronics S…

PD协议

最近在搞PD充电部分&#xff0c;资料记录下&#xff0c;以前搞了很多项目 也记录了很多文档资料&#xff0c;不过感觉平时喜欢乱打开网站&#xff0c;而那些word文档 经常被放在一个文件夹中&#xff0c;一放就好几年。所以开始在csdn记录自己整理的东西。 定义&#xff1a; U…

N32G45导入芯片包出现Cannot install Pack Nationstech.N32G45x_DFP.1.0.4: Cannot find PDSC file at root direct

Cannot install Pack Nationstech.N32G45x_DFP.1.0.4: Cannot find PDSC file at root directory of Pack archive 最近训练营要求用到国产芯片N32G45X系列的芯片&#xff0c;但是在keil中导入芯片包时出现了以下问题&#xff1a; Cannot install Pack Nationstech.N32G45x_DF…

SDP简介

1 概述 SDP制订的目的是描述多媒体会话&#xff0c;如会话通知、会话邀请或其他发起多媒体会话的形式。 SDP是纯粹的会话的描述格式而不是一个传输协议。它可以使用不同的传输协议&#xff0c;包括会话通知协议&#xff08;SAP&#xff09;、会话初始协议&#xff08;SIP&…

MDK5/KeiluVsion5安装报错“Download of PDSC index file failed”

一、原因一分析&#xff1a; 1.先从字面分析&#xff1a;Download of PDSC index file failed中文意思是PDSC这个索引文件下载错误。首先我们要知道&#xff0c;刚开始安装软件或当你进入Pack Installer界面时&#xff0c;软件会从Keil官网更新下载keil软件所需要的一些芯片包…

Keil5 “Loading PDSC Debug Description Failed for STMicroelectronics STM32Hxxxxxxx”解决办法

最近在学习STM32H750&#xff0c;但是在创建工程的时候就发现了一个问题&#xff0c;如图所示&#xff1a; 虽然不清楚这个问题是否会影响后面编译和烧录&#xff0c;但是感觉有这种警告还是不爽的&#xff0c;所以这里记录一下。 按照这个路径&#xff0c;找到这个pdsc后缀的…

打开Keil.STM32F4xx_DFP.2.13.0提示Cannot copy PDSC file to Download

打开Keil.STM32F4xx_DFP.2.13.0提示Cannot copy PDSC file to “Download” folder 一、问题&#xff1a; keil5安装好后直接安装添加.pack时提示Cannot copy PDSC file to “Download” folder。以为是版本问题或者keil4等在同一个盘中&#xff0c;下了好几个版本又分盘安装&…

sdp详解

SDP文件解析 一、SDP协议介绍 SDP 完全是一种会话描述格式 ― 它不属于传输协议 ― 它只使用不同的适当的传输协议&#xff0c;包括会话通知协议&#xff08;SAP&#xff09;、会话初始协议&#xff08;SIP&#xff09;、实时流协议&#xff08;RTSP&#xff09;、MIME 扩展协…

STM32烧录错误【PDSC: Sequence Execution failed error-Debug access failed - cannot read address 0xE00FFFE】

背景&#xff1a;一开始可以正常烧录&#xff0c;由于写了个文件的代码&#xff0c;编译正常&#xff0c;但是load的时候突然报错……后来换成了本来可以正常烧录的工程发现依然没办法烧录&#xff0c;遂明白自己把板子搞坏了…… 错误提示&#xff1a; Sequence : DebugDevic…

STM32踩坑:Keil 安装好后创建项目 Loading PDSC Debug Description failed for...

Keil 安装好后创建项目警告 Loading PDSC Debug Description failed for… 昨天重新装了一下系统&#xff0c;重新安装了一次 Keil&#xff0c;新建项目的时候报了一个错&#xff0c;如下图&#xff1a; 点击确定后&#xff0c;在下方输出框中可见下图&#xff1a; 按照第一…

STM32Cube安装固件库出现 invalid zip file or missing expected pdsc file within pack root directory

意思是压缩包无效或者缺少pdsc文件 再下一次压缩包&#xff0c;是否压缩包出现问题 还是这样就看看这里 看这里软件可安装固件库版本&#xff0c;假设我要安装 1.27.0版本就会出现 invalid zip file or missing expected pdsc file within pack root directory 这里需要更新…

PDSCH 相关

1 PDSCH信道处理过程 见PDSCH 处理流程整理https://blog.csdn.net/fanzy_edu/article/details/122469006 在5GNR中&#xff0c;MAC层最多向物理层传输2个TB传输块&#xff0c;且2个TB块只适用于空分复用超过4层的情况。若当前空分复用不超过4层&#xff08;含4层&#xff09;&…

打开Keil.STM32F4xx_DFP.2.13.0提示Cannot copy PDSC file to “Download“

打开Keil.STM32F4xx_DFP.2.13.0提示Cannot copy PDSC file to “Download” folder 一、问题&#xff1a; keil5安装好后直接安装添加.pack时提示Cannot copy PDSC file to “Download” folder。以为是版本问题或者keil4等在同一个盘中&#xff0c;下了好几个版本又分盘安装…