下面是关于“java控制台实现学生管理系统”的详细攻略:
1. 确认需求,设计数据结构
在实现任何系统之前,首先需要明确系统的需求和应用场景。在这个例子中,我们需要实现一个学生管理系统,在控制台上实现增删改查的功能。
接着,我们需要设计数据结构。在这个例子中,我们可以使用一个 Student 类来表示学生,并在程序中使用一个 StudentManager 类来管理学生对象的增删改查操作。
以下是 Student 类的定义样例代码:
public class Student {
private String id; // 学生id
private String name; // 学生姓名
private int age; // 学生年龄
private String sex; // 学生性别
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
以上代码是一个简单的 Student 类定义,包含学号、姓名、年龄和性别等信息。
2. 实现学生管理系统
在明确需求和数据结构之后,我们可以开始实现学生管理系统。一般而言,我们可以使用面向对象的思想,将管理学生对象的方法封装在一个类中,再提供一个控制台的交互界面,与用户进行交互。以下是 StudentManager 类的示例代码:
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class StudentManager {
private List<Student> studentList; // 学生列表
// 构造函数,初始化学生列表
public StudentManager() {
studentList = new ArrayList<>();
}
// 添加学生
public void addStudent(Student student) {
studentList.add(student);
}
// 删除学生
public void removeStudent(String id) {
for (int i = 0; i < studentList.size(); i++) {
Student student = studentList.get(i);
if (student.getId().equals(id)) {
studentList.remove(i);
return;
}
}
}
// 修改学生信息
public void updateStudent(Student student) {
for (int i = 0; i < studentList.size(); i++) {
Student s = studentList.get(i);
if (s.getId().equals(student.getId())) {
s.setName(student.getName());
s.setAge(student.getAge());
s.setSex(student.getSex());
return;
}
}
}
// 按学号查找学生
public Student findStudent(String id) {
for (int i = 0; i < studentList.size(); i++) {
Student student = studentList.get(i);
if (student.getId().equals(id)) {
return student;
}
}
return null;
}
// 展示所有学生信息
public void showAllStudents() {
System.out.println("学号\t\t姓名\t年龄\t性别");
for (int i = 0; i < studentList.size(); i++) {
Student student = studentList.get(i);
System.out.println(student.getId() + "\t" + student.getName() + "\t" + student.getAge() + "\t" + student.getSex());
}
}
public static void main(String[] args) {
StudentManager sm = new StudentManager();
Scanner scanner = new Scanner(System.in);
while (true) {
// 显示主菜单
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("* 0. 退出程序");
System.out.println("******************");
int choice = scanner.nextInt();
scanner.nextLine(); // 读取多余的回车符
switch (choice) {
case 1:
// 添加学生信息
Student student = new Student();
System.out.print("请输入学号:");
student.setId(scanner.nextLine());
System.out.print("请输入姓名:");
student.setName(scanner.nextLine());
System.out.print("请输入年龄:");
student.setAge(scanner.nextInt());
scanner.nextLine(); // 读取多余的回车符
System.out.print("请输入性别:");
student.setSex(scanner.nextLine());
sm.addStudent(student);
break;
case 2:
// 删除学生信息
System.out.print("请输入要删除的学生学号:");
String id = scanner.nextLine();
sm.removeStudent(id);
break;
case 3:
// 修改学生信息
Student s = new Student();
System.out.print("请输入要修改的学生学号:");
s.setId(scanner.nextLine());
System.out.print("请输入要修改的姓名:");
s.setName(scanner.nextLine());
System.out.print("请输入要修改的年龄:");
s.setAge(scanner.nextInt());
scanner.nextLine(); // 读取多余的回车符
System.out.print("请输入要修改的性别:");
s.setSex(scanner.nextLine());
sm.updateStudent(s);
break;
case 4:
// 查询学生信息
System.out.print("请输入要查询的学生学号:");
id = scanner.nextLine();
Student student2 = sm.findStudent(id);
if (student2 != null) {
System.out.println("学号\t\t姓名\t年龄\t性别");
System.out.println(student2.getId() + "\t" + student2.getName() + "\t" + student2.getAge() + "\t" + student2.getSex());
} else {
System.out.println("没有找到该学生!");
}
break;
case 5:
// 显示所有学生信息
sm.showAllStudents();
break;
case 0:
// 退出程序
System.out.println("程序已退出!");
return;
default:
System.out.println("请输入正确的选项!");
}
}
}
}
以上代码提供了学生管理系统的增删改查操作,并提供一个可以交互的控制台界面。
以下是运行示例:
(1)添加学生信息:输入 1
请输入选项:1
请输入学号:20210001
请输入姓名:张三
请输入年龄:20
请输入性别:男
(2)删除学生信息:输入 2
请输入选项:2
请输入要删除的学生学号:20210001
(3)修改学生信息:输入 3
请输入选项:3
请输入要修改的学生学号:20210001
请输入要修改的姓名:张三
请输入要修改的年龄:22
请输入要修改的性别:女
(4)查询学生信息:输入 4
请输入选项:4
请输入要查询的学生学号:20210001
学号 姓名 年龄 性别
20210001 张三 22 女
(5)显示所有学生信息:输入 5
请输入选项:5
学号 姓名 年龄 性别
20210001 张三 22 女
总结
以上是基于 Java 控制台实现学生管理系统的攻略,涵盖了其中的需求分析、数据结构定义、代码实现和运行示例等内容。通过这个例子,你可以更好地理解 Java 面向对象编程的思想,并且具备了基本的控制台应用开发能力。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java控制台实现学生管理系统 - Python技术站