🤟致敬读者
- 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉
📘博主相关
文章目录
📃文章前言
- 🔷文章均为学习工作中整理的笔记。
- 🔶如有错误请指正,共同学习进步。
JavaSE核心知识点05实践项目(学生管理系统-控制台版)
下面我将从零开始,为你详细讲解如何用Java实现一个控制台版的学生管理系统。我们将分步骤进行,并提供完整的代码示例和解释。
1. 系统功能分析
我们需要实现以下核心功能:
- 添加学生信息
- 删除学生信息
- 修改学生信息
- 查询学生信息
- 显示所有学生
- 退出系统
2. 项目结构设计
我们将创建两个类:
Student
:学生实体类(存储学生信息)StudentManagementSystem
:管理系统主类(包含业务逻辑和主菜单)
3. 学生实体类(Student.java)
public class Student {
private String id; // 学号
private String name; // 姓名
private int age; // 年龄
private String gender; // 性别
// 构造方法
public Student(String id, String name, int age, String gender) {
this.id = id;
this.name = name;
this.age = age;
this.gender = gender;
}
// Getter和Setter方法(略)
// 通过快捷键 Alt+Insert 自动生成
}
4. 管理系统主类(StudentManagementSystem.java)
import java.util.ArrayList;
import java.util.Scanner;
public class StudentManagementSystem {
private static ArrayList<Student> students = new ArrayList<>();
private static Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
while (true) {
showMenu();
int choice = scanner.nextInt();
switch (choice) {
case 1:
addStudent();
break;
case 2:
deleteStudent();
break;
case 3:
updateStudent();
break;
case 4:
queryStudent();
break;
case 5:
showAllStudents();
break;
case 6:
System.out.println("感谢使用,再见!");
System.exit(0);
default:
System.out.println("输入错误,请重新选择!");
}
}
}
// 显示菜单
private static void showMenu() {
System.out.println("======== 学生管理系统 ========");
System.out.println("1. 添加学生");
System.out.println("2. 删除学生");
System.out.println("3. 修改学生");
System.out.println("4. 查询学生");
System.out.println("5. 显示所有学生");
System.out.println("6. 退出系统");
System.out.print("请输入您的选择:");
}
// 添加学生
private static void addStudent() {
System.out.print("请输入学号:");
String id = scanner.next();
// 检查学号是否重复
for (Student s : students) {
if (s.getId().equals(id)) {
System.out.println("学号已存在,添加失败!");
return;
}
}
System.out.print("请输入姓名:");
String name = scanner.next();
System.out.print("请输入年龄:");
int age = scanner.nextInt();
System.out.print("请输入性别:");
String gender = scanner.next();
students.add(new Student(id, name, age, gender));
System.out.println("添加成功!");
}
// 删除学生
private static void deleteStudent() {
System.out.print("请输入要删除的学号:");
String id = scanner.next();
for (Student s : students) {
if (s.getId().equals(id)) {
students.remove(s);
System.out.println("删除成功!");
return;
}
}
System.out.println("未找到该学生!");
}
// 修改学生
private static void updateStudent() {
System.out.print("请输入要修改的学号:");
String id = scanner.next();
for (Student s : students) {
if (s.getId().equals(id)) {
System.out.print("请输入新姓名:");
s.setName(scanner.next());
System.out.print("请输入新年龄:");
s.setAge(scanner.nextInt());
System.out.print("请输入新性别:");
s.setGender(scanner.next());
System.out.println("修改成功!");
return;
}
}
System.out.println("未找到该学生!");
}
// 查询学生
private static void queryStudent() {
System.out.print("请输入要查询的学号:");
String id = scanner.next();
for (Student s : students) {
if (s.getId().equals(id)) {
System.out.println("学号\t姓名\t年龄\t性别");
System.out.println(s.getId() + "\t" + s.getName() + "\t" + s.getAge() + "\t" + s.getGender());
return;
}
}
System.out.println("未找到该学生!");
}
// 显示所有学生
private static void showAllStudents() {
System.out.println("学号\t姓名\t年龄\t性别");
for (Student s : students) {
System.out.println(s.getId() + "\t" + s.getName() + "\t" + s.getAge() + "\t" + s.getGender());
}
}
}
5. 关键点解释
- 数据结构:使用
ArrayList<Student>
存储学生对象,动态管理数据。 - 输入处理:通过
Scanner
类实现控制台输入。 - 学号唯一性检查:在添加学生时遍历列表检查学号是否重复。
- 菜单循环:通过
while(true)
实现持续操作,直到选择退出。
6. 如何运行?
- 使用IDE(如IntelliJ IDEA或Eclipse)创建Java项目
- 分别创建
Student.java
和StudentManagementSystem.java
- 运行
StudentManagementSystem
类的main
方法
7. 优化方向(后续可自行扩展)
- 数据持久化:将学生数据保存到文件(如
.txt
) - 输入验证:处理非法输入(如年龄输入字母时的异常)
- 更多查询方式:按姓名、年龄范围查询
- 排序功能:按学号或成绩排序显示
希望这个详细的教程能帮助你入门Java编程!如果有任何问题,欢迎随时提问。
📜文末寄语
- 🟠关注我,获取更多内容。
- 🟡技术动态、实战教程、问题解决方案等内容持续更新中。
- 🟢《全栈知识库》技术交流和分享社区,集结全栈各领域开发者,期待你的加入。
- 🔵加入开发者的《专属社群》,分享交流,技术之路不再孤独,一起变强。
- 🟣点击下方名片获取更多内容🍭🍭🍭👇