学生信息管理系统-案例初步分析报告1

文件功能讲解

此系统包含五个文件夹:
".setting",".classpath",".projects"这三个文件夹是项目的基础框架;
  ".setting"用于存放项目的基础设置信息,
  ".classpath"构建项目的路径,包含项目库和源代码的位置,
  ".projects"描述项目的基本属性,例如项目名称。
"src","bin"用来创建与编译源代码;
  "src" 所有源代码存放于此;
  "bin"主要负责源代码的编译与运行,存放源代码编译后的文件,创建此文件可与”src“区分开,便于管理。

源代码功能讲解

**功能1:**用户输入学生详细信息,创建一个新的学生对象,添加到学生信息管理系统
在这里插入图片描述

**功能2:**移除学生,用户输入要移除学生的id,然后遍历学生列表,找到该学生id后移除
在这里插入图片描述

**功能3:**按姓名搜索学生
在这里插入图片描述

**功能4:**按专业搜索学生

**功能5:**按GPA搜索学生

**功能6:**打印所有学生列表
在这里插入图片描述

**功能7:**退出程序

基本语法讲解

每个Java文件开头有的包声明:

package code;

用import语句导入List和Scanner类

import java.util.List;
import java.util.Scanner;

@Override注解表明重写父类的方法,toString()返回一个表示对象状态的字符串

@Override
public String toString() {
    return "Student{" +
            "name='" + name + '\'' +
            ", age=" + age +
            // ...其他字段
            '}';
}

以上方法重写的示例输出:
假设有一学生对象属性如:

name = "John Doe"
age = 20
gender = "Male"
id = "S123456"
major = "Computer Science"
gpa = 3.75

调用toString()方法后:

Student{name='John Doe', age=20, gender='Male', id='S123456', major='Computer Science', gpa=3.75}

提供了学生信息管理系统基于数组的数据结构

private List<Student> students;

public StudentManagementSystem() {
    students = new ArrayList<>();
}

无限循环:一个布尔变量,控制主循环状态;只要running为真,则一直循环

boolean running = true;
 while (running)

获取用户输入,根据choice的值不同选择不同操作

int choice = scanner.nextInt();
 switch (choice) 

增强型for循环,在学生列表中遍历每一个Student对象

for (Student student : students) 

类功能讲解

Main类:
功能:此类为用户提供了一个控制台用于操作学生信息管理系统。
方法:
初始化了一个StudentManagementSystem对象和Scanner对象

		Scanner scanner = new Scanner(System.in);
		StudentManagementSystem sms = new StudentManagementSystem();

使用无限循环来显示菜单并处理用户输入

boolean running = true;
		while (running) 

再用switch语句的多路分支根据choice的值不同进入不同的case,完成各种操作。
Students类:
功能:此类创建了一个学生对象,其包含学生的姓名,年龄,性别,ID,专业以及GPA;
属性:String:name,gender,id,major;int:age;double:gpa;
方法:创建多个函数初始化学生这一对象;
运用Getter和Setter来访问和修改学生信息;
StudentManagementSystem 类
功能:管理学生数据,提供移除学生、添加学生、按选项搜索学生的操作。
方法:初始化StudentManagementSystem类,并调用多个函数完成操作。

构造函数,初始化学生列表

public StudentManagementSystem() {
    students = new ArrayList<>();
}

添加学生

public void addStudent(Student student) {
    students.add(student);
}

移除学生

public void removeStudent(Student student) {
    students.remove(student);
}

获取全部学生

public List<Student> getStudents() {
    return students;
}

按姓名搜索学生

public List<Student> searchByName(String name) {
    List<Student> result = new ArrayList<>();
    for (Student student : students) {
        if (student.getName().equals(name)) {
            result.add(student);
        }
    }
    return result;
}

按专业搜索学生

按GPA搜索学生

StudentManagementSystemTest 类
功能:测试类,测试StudentManagementSystem功能是否正常实现。
方法:创建了一个学生信息管理系统,又创建了几个学生对象到其中,进行StudentManagementSystem的功能操作,以完成测试。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值