文件功能讲解
此系统包含五个文件夹:
".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的功能操作,以完成测试。