【JAVA】学生信息管理系统

article/2025/9/28 10:22:20

目录

前言

一、环境搭建

二、功能实现

1.学生信息类的创建

2.学生信息的添加功能

3.学生信息的删除功能

4.学生信息的修改功能 

5.学生信息的查看功能

 三、主类的调用

1.界面的搭建

2.学生端和教师端

3.系统和功能的选择

总结       


前言

JAVA实现的学生信息管理系统(包含教师端和学生端)

教师端有登录过程,功能包括对学生信息的增删改查

学生端无登录过程,功能只包括查看信息


一、环境搭建

  1. 在idea创建一个工程文件,在工程文件下创建一个model模块,在model模块下载创建三个package包分别用来存放(Management)管理信息包、(function)功能包、(information)学生信息对象类,再在三个包中创建如下图所示文件
  2. 容器选择:因为本次使用的是自己创建的Student类并且信息数量不确定,所以选择集合作为Student类的容器

二、功能实现

1.学生信息类的创建

       为了防止属性不能被外类随意访问,因此采用private对学生类中的属性进行修饰并且进行创建set、get方法以便于调用属性,再创建打印数据方法,方便数据打印,代码如下:

public class Student {private String id;private String name;private String college;private String major;public Student() {}public Student(String id, String name, String college, String major) {this.id = id;this.name = name;this.college = college;this.major = major;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getCollege() {return college;}public void setCollege(String college) {this.college = college;}public String getMajor() {return major;}public void setMajor(String major) {this.major = major;}public void information_printf() {System.out.printf("%-16s%-13s" + "\t" + "%-12s" + "\t" + "%s\n", getId(), getName(), getCollege(), getMajor());}
}

2.学生信息的添加功能

       在Addtion添加类中,先创建集合容器用来存放数据,并且键盘录入的数据(使用Scanner()方法),再进行对输入的判断是否合法,最后将录入的数据存入集合中,具体实现方法如下:

    public Student Add_information(ArrayList<Student> newList) {Scanner sc = new Scanner(System.in);Student stu = new Student();System.out.println("请输入学生学号:");//学生学号信息输入检查add_check_id(newList, sc, stu);System.out.println("请输入学生姓名:");String name = sc.next();stu.setName(name);System.out.println("请输入学生所在学院(4-6字):");//学生学院信息输入检查add_check_college(sc, stu);//学生专业班级信息输入检查System.out.println("请输入学生专业班级(4-8字):");add_check_major(sc, stu);return stu;}

实现效果如图:

3.学生信息的删除功能

       在Delete删除类中,先创建集合容器用来存放数据,并且键盘录入的数据(使用Scanner()方法),再进行信息的判断是否存在,最后将需要删除的信息从集合中删除,具体实现方法如下:

public ArrayList<Student> Delete_information(ArrayList<Student> newList) {Scanner sc = new Scanner(System.in);System.out.println("请输入要删除的学生的学号:");while (true) {String id = sc.next();if (getList_id(newList, id)) {System.out.println("学生信息删除成功!");break;}System.out.println("该学生信息不存在,请重新输入:");}return newList;}

 实现效果如图:

4.学生信息的修改功能 

       在Modify修改类中,先创建集合容器用来存放数据,并且键盘录入的数据(使用Scanner()方法),再进行信息的判断是否存在,再将新录入的数据代替之前的数据,最后将新的数据重新添加至集合中,具体实现方法如下:

public ArrayList<Student> Modify_information(ArrayList<Student> newList) {Scanner sc = new Scanner(System.in);System.out.println("请输入要修改的学生的学号:");while (true) {String id = sc.next();if (getList_id(newList, id)) {System.out.println("学生信息修改成功!");break;}System.out.println("该学生信息不存在,请重新输入:");}return newList;}

 实现效果如图:

5.学生信息的查看功能

       在View查看类中,先创建集合容器用来存放数据,利用for循环对集合遍历并且调用Student类中的information_printf()方法打印出所有学生信息,具体实现方法如下:

public void View_information(ArrayList<Student> newList) {for (int i = 0; i < newList.size(); i++) {Student s = newList.get(i);s.information_printf();}}

 实现效果如图:

 三、主类的调用

1.界面的搭建

使用System.out.println()方法输出界面,具体实现方法如下:

//选择登录系统界面           
System.out.println("----------学生信息管理系统----------");
System.out.println("* 1、学生登录  2、教师登录  3、退出  *");
System.out.println("---------------------------------");//学生端界面
System.out.println("----------学生信息管理系统----------");
System.out.println("*     1、查看信息      2、返回     *");
System.out.println("---------------------------------");//教师登录界面
System.out.println("----------学生信息管理系统----------");
System.out.println("*1、添加信息  2、删除信息  3、修改信息*");
System.out.println("*4、查看信息  5、返回              *");
System.out.println("---------------------------------");

2.学生端和教师端

       学生端只能查看学生信息,教师端可以对信息进行增加、删除、修改、查看四个功能,并且登录教师端需要输入用户名和密码;先使用Scanner()方法在控制台接收用户键盘录入的数据,再将输入的数据通过对字符串的判断实现是否登陆成功。具体实现方法如下:

//教师端登录
public static void Login_teacher(ArrayList<Student> list) {Scanner sc1 = new Scanner(System.in);Scanner sc2 = new Scanner(System.in);//已知用户名密码String name = "Login";String passwords = "123456";//获取用户名密码while (true) {System.out.println("请输入用户名:");String username = sc1.next();System.out.println("请输入密码:");String user_password = sc2.next();if (name.equals(username) && password.equals(user_password)) {System.out.println("登陆成功");Management_teacher(list);break;} else {System.out.println("用户名或密码错误,请重新输入:");}}}

 实现效果如图:

   

3.系统和功能的选择

       先使用Scanner()方法在控制台接收用户键盘录入的数据,再将输入的数据,通过switch(int flag) case :方法进行判断选择对应的系统或对应的功能,具体实现方法如下图:

//登陆系统选择
Scanner sc = new Scanner(System.in);wc:while (true) {System.out.println("----------学生信息管理系统----------");System.out.println("* 1、学生登录  2、教师登录  3、退出  *");System.out.println("---------------------------------");int flag = sc.nextInt();switch (flag) {case 1:Management_student(list);break;case 2:Login_teacher(list);break;case 3:break wc;default:System.out.println("输入有误,请重新输入:");break;}}//学生功能选择
Scanner sc = new Scanner(System.in);wc2:while (true) {System.out.println("----------学生信息管理系统----------");System.out.println("*     1、查看信息      2、返回     *");System.out.println("---------------------------------");int flags = sc.nextInt();switch (flags) {case 1:view_Student_information(list);break;case 2:break wc2;}}//教师端功能选择
Scanner sc = new Scanner(System.in);wc:while (true) {System.out.println("----------学生信息管理系统----------");System.out.println("*1、添加信息  2、删除信息  3、修改信息*");System.out.println("*4、查看信息  5、返回              *");System.out.println("---------------------------------");int flag = sc.nextInt();switch (flag) {case 1://学生信息的添加add_Student_information(list);break;case 2://学生信息的删除delete_Student_information(list);break;case 3://学生信息的修改modify_Student_information(list);break;case 4://学生信息的查询view_Student_information(list);break;case 5:break wc;default:System.out.println("输入有误,请重新输入:");break;}}

总结       

       以上就是我实现学生信息管理系统的方案,本文仅仅介绍了实现方案及制作流程,仅供参考,若有问题请帮忙留言指出,欢迎交流学习。

需要所有源文件的或者私人订制的可以私聊


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

相关文章

Java 学生管理系统(详解)

文章目录 学生类main方法首界面登录功能选择界面添加学生信息删除学生信息修改学生信息查看学生信息 学号遍历 和 清空控制台方法附&#xff1a;学生管理系统代码Student .JavaMain.JavaFunctionModule.javaExtents.Java 总结 下面会分享我在做这个练习时的一些方法以及程序代码…

【超详细】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;&…