学生信息管理系统

一·#主界面展示#

二.#功能介绍#

1.添加学生信息:

代码:

case 1:
String[] prompts = {
"Enter student name:",
"Enter student age:",
"Enter student gender:",
"Enter student ID:",
"Enter student major:",
"Enter student GPA:"};
String[] responses = new String[5];
int age;
double gpa;
System.out.println(prompts[0]);
responses[0] = scanner.next();
System.out.println(prompts[1]);
age = scanner.nextInt();
System.out.println(prompts[2]);
responses[1] = scanner.next();
System.out.println(prompts[3]);
responses[2] = scanner.next();
System.out.println(prompts[4]);
responses[3] = scanner.next();
System.out.println(prompts[5]);
gpa = scanner.nextDouble();
Student student = new Student(responses[0], age, responses[1], responses[2], responses[3], gpa);
sms.addStudent(student);
System.out.println("Student added successfully!\n");
break;

简化:

1.使用增强型 for 循环以提高代码可读性。
2.利用三元运算符简化条件判断。

功能介绍:

这段代码的功能是通过控制台输入收集学生信息,并将其添加到学生管理系统中。

(1)提示用户输入: 提示用户输入学生的各项信息,例如姓名、年龄、性别、ID、专业和GPA。
(2)收集用户输入: 使用 scanner 对象从控制台读取用户输入的数据,并将其存储在相应的变量中。
(3)创建 Student 对象: 用收集到的数据创建一个新的 Student 对象。
将学生信息添加到系统: 调用 sms.addStudent(student) 方法将新学生添加到学生管理系统中。
(4)输出成功信息: 向用户显示学生添加成功的消息。

基本语法讲解:

String[] prompts: 这是一个 String 数组,用于存储显示给用户的提示信息。

java
String[] prompts = {
    "Enter student name:",
    "Enter student age:",
    "Enter student gender:",
    "Enter student ID:",
    "Enter student major:",
    "Enter student GPA:"};
String[] responses: 这是一个 String 数组,用于存储用户输入的字符串.
String[] responses = new String[5];
变量声明: int age 和 double gpa 用于存储学生的年龄和GPA。

java
int age;
double gpa;
scanner.next() 和 scanner.nextInt(): scanner.next() 用于读取字符串输入,scanner.nextInt() 用于读取整数输入,scanner.nextDouble() 用于读取浮点数输入。

java
responses[0] = scanner.next();
age = scanner.nextInt();
responses[1] = scanner.next();
responses[2] = scanner.next();
responses[3] = scanner.next();
gpa = scanner.nextDouble();
创建对象: 使用收集到的数据创建一个新的 Student 对象。

java
Student student = new Student(responses[0], age, responses[1], responses[2], responses[3], gpa);
调用方法: 调用 sms.addStudent(student) 将新创建的学生对象添加到学生管理系统中。

sms.addStudent(student);

运行界面:

2. 显示所有学生信息:

代码:

case 6:
// Show all Students
List<Student> studentList = sms.getStudents();
if (studentList.isEmpty()) {
System.out.println("The system data is empty now!");
} else {
studentList.forEach(studentItem -> System.out.println(studentItem));}
break;
case 7:
// Exit the program
running = false;
System.out.println("Exit Successfully!");
break;

简化:

1.使用增强型 for 循环以提高代码可读性。
2.利用三元运算符简化条件判断。
3.确保 Student 类的 toString() 方法已被重写,以提供清晰的学生信息输出。

功能介绍:

该部分代码的功能是从学生管理系统(sms)中获取所有学生的列表,并将其输出到控制台。如果列表为空,则输出一条提示信息;否则,遍历列表并打印每一个学生的详细信息。

基本语法讲解:

switch 语句

语法:
java
switch (expression) {
    case value1:
        // Code block
        break;
    case value2:
        // Code block
        break;
    default:
        // Code block
}
switch 语句用于基于某个表达式的值选择执行不同的代码块。
case 语句用于匹配表达式的值,每个 case 后跟一个值和要执行的代码。
break 语句用于跳出 switch 语句块。如果没有 break,程序将继续执行下一个 case。
default 语句是可选的,用于处理所有没有匹配的值的情况。

运行界面:

3.查询学生(输入名字后查询学生) 

代码:

	// Search for a student by name
System.out.println("Enter student name to search:");
String searchName = scanner.next();
List<Student> searchResults = sms.searchByName(searchName);
System.out.println(searchResults.isEmpty() ? "No students found!" : "Search results:");
searchResults.forEach(System.out::println);
break;

简化:

三元运算符: 简化了空列表的判断和相应的消息输出。
方法引用: 使用 forEach(System.out::println) 替代传统的 for 循环,使代码更简洁。

功能介绍:

这段代码的功能是允许用户输入一个学生的名字,然后从一个学生管理系统(sms)中搜索所有匹配该名字的学生,并显示搜索结果。如果没有找到匹配的学生,会显示一条提示信息。

基本语法讲解:

  1. System.out.println()

    • 用于在控制台打印文本或数据,并自动换行。
  2. String searchName = scanner.next();

    • String 是一个数据类型,searchName 是一个字符串变量。
    • scanner.next() 读取下一个用户输入的单词并返回作为 String 类型。
  3. List<Student> searchResults = sms.searchByName(searchName);

    • List<Student> 是一个包含 Student 对象的列表。
    • searchByName(searchName) 是一个方法调用,它返回一个 List<Student>
  4. searchResults.isEmpty()

    • isEmpty() 方法用于检查 List 是否为空,如果列表没有元素,则返回 true,否则返回 false
  5. searchResults.forEach(System.out::println);

    • forEach 是 List 的一个方法,用于遍历列表中的每个元素。
    • System.out::println 是一个方法引用,它指向 System.out.println 方法,用于将每个学生对象打印到控制台。                                                                              

运行界面: 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值