学生信息管理系统(面向对象初步接触)

案例初步分析报告

一.功能讲解;

本程序实现了一个较为基础的学生管理系统,允许用户通过命令行界面执行以下功能:

  • 添加学生:用户可以输入学生的姓名、年龄、性别、ID、专业和GPA来创建一个新的学生记录。
  • 删除学生:通过输入学生的ID来删除特定的学生记录。
  • 按姓名搜索学生:用户可以通过输入学生姓名来搜索并显示所有匹配的学生信息。
  • 按专业搜索学生:用户可以通过输入学生的专业来搜索并显示所有该专业的学生信息。
  • 按GPA搜索学生:用户可以通过输入学生的GPA来搜索并显示所有GPA匹配的学生信息。
  • 显示所有学生:列出当前系统中所有的学生记录。
    退出系统:允许用户退出程序。

二.基本语法讲解;

  • 导入包

在这里插入图片描述
List接口用于存储和操作元素集合,而Scanner类用于从标准输入(如键盘)读取数据。

  • 类定义

在这里插入图片描述
Main类是程序的入口

  • 主方法

在这里插入图片描述此处是程序执行的开始

  • 变量声明和初始化

在这里插入图片描述
此处声明并初始化了两个变量:scanner和sms。scanner用于从标准输入读取数据,而sms是StudentManagementSystem类的一个实例,用于管理学生数据。

  • 控制流语句

循环在这里插入图片描述
分支在这里插入图片描述

  • 用户输入

在这里插入图片描述
在这里插入图片描述
输入的数据通过Scanner的next(), nextInt(), nextDouble()等方法读取并处理。

  • 方法调用

根据用户的输入(通过Scanner读取),main方法使用switch语句来选择并执行相应的操作。每个case分支都会调用一个或多个方法(如sms.addStudent(student))来处理用户的请求。
1.数据传递:
主要通过方法参数传递。例如,在添加学生时,用户输入的数据被封装成一个Student对象,然后传递给sms.addStudent(student)方法。StudentManagementSystem类的方法(如searchByName, getStudents)返回数据(如搜索结果或学生列表),这些数据随后被用于进一步的处理或显示。
2.方法依赖:
main方法依赖于StudentManagementSystem类的实例(sms)来管理学生数据。
3.方法封装和重用:
通过将搜索和显示逻辑封装在单独的方法中,代码变得更加模块化和可重用。例如,searchByName, searchByMajor, searchByGpa方法具有相似的结构。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三.类功能讲解.

1.StudentManagementSystem 类

StudentManagementSystem 类是一个用于管理学生信息的系统,它封装了一系列方法来处理学生信息的增删查改。

在这里插入图片描述
该私有属性,用于存储系统中的所有学生对象。通过私有访问修饰符保护数据,防止外部直接访问和修改,而是通过公共方法来操作这些数据。

在这里插入图片描述
这是类的构造方法,用于初始化 students 列表为一个空的 ArrayList 实例。每当创建 StudentManagementSystem 类的新实例时,都会自动调用此方法,确保 students 列表被正确初始化。

2.Student 类

Student 类封装了与学生相关的多个属性,如姓名、年龄、性别、学号、主修专业和 GPA(成绩平均绩点),并提供了访问和修改这些属性的方法.

Getter 和 Setter 方法
对于每个私有属性,Student 类都提供了一对 getter 和 setter 方法。Getter 方法(如 getName())用于返回属性的值,而 setter 方法(如 setName(String name))用于设置属性的值。
在这里插入图片描述

toString 方法
public String toString():这是 Object 类的一个方法,被 Student 类重写。toString 方法返回一个表示该对象的字符串。在这个实现中,它返回了一个包含学生所有属性的格式化字符串。在这里插入图片描述

3.Main 类

Main 类是这个学生管理系统的核心驱动类,它提供了一个基于控制台的界面,允许用户执行一系列操作来管理学生数据。

添加学生:读取学生信息(姓名、年龄、性别、学号、专业和GPA),创建一个 Student 对象,并调用 sms 的 addStudent 方法来添加这个学生。
在这里插入图片描述

删除学生:读取要删除学生的学号,遍历 sms 中的学生列表,找到并删除匹配的学生。如果找不到,则显示错误信息。
在这里插入图片描述

搜索学生:
按名称搜索:读取学生名称,调用 sms 的 searchByName 方法来查找并显示所有匹配的学生。在这里插入图片描述
按专业搜索:类似地,读取学生专业,调用 searchByMajor 方法。
在这里插入图片描述
按GPA搜索:读取学生GPA,调用 searchByGpa 方法。
在这里插入图片描述
在这里插入图片描述

显示所有学生:调用 sms 的 getStudents 方法获取所有学生的列表,并遍历列表以显示每个学生的信息。在这里插入图片描述

退出:设置 running 变量为 false,以退出主循环并结束程序。

总结:

Main 类作为用户界面的核心,它通过控制台这一传统而强大的交互方式,与用户建立起直接的联系。在这个学生管理系统中,Main 类不仅充当了用户与系统之间沟通的桥梁,还巧妙地集成了 Student 类和 StudentManagementSystem 类的功能,实现了对学生信息的全面管理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值