一·#主界面展示#
二.#功能介绍#
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
)中搜索所有匹配该名字的学生,并显示搜索结果。如果没有找到匹配的学生,会显示一条提示信息。基本语法讲解:
System.out.println()
- 用于在控制台打印文本或数据,并自动换行。
String searchName = scanner.next();
String
是一个数据类型,searchName
是一个字符串变量。scanner.next()
读取下一个用户输入的单词并返回作为String
类型。List<Student> searchResults = sms.searchByName(searchName);
List<Student>
是一个包含Student
对象的列表。searchByName(searchName)
是一个方法调用,它返回一个List<Student>
。searchResults.isEmpty()
isEmpty()
方法用于检查List
是否为空,如果列表没有元素,则返回true
,否则返回false
。searchResults.forEach(System.out::println);
forEach
是List
的一个方法,用于遍历列表中的每个元素。System.out::println
是一个方法引用,它指向System.out.println
方法,用于将每个学生对象打印到控制台。
运行界面: