下面就给大家详细讲解一下如何实现Java控制台学生信息管理系统。
系统需求
- 学生的基本信息包括学号、姓名、性别和年龄;
- 使用集合对学生信息进行管理;
- 实现基本的增、删、改、查功能;
- 可以按照学号或者姓名进行查找和排序;
- 友好的用户交互界面。
实现步骤
步骤一:创建学生类
public class Student {
private int id;
private String name;
private String sex;
private int age;
// 省略get和set方法
}
步骤二:创建控制台界面
public class ConsoleUI {
private Scanner scanner;
private List<Student> studentList;
/**
* 构造方法,用于初始化学生列表和Scanner对象
*/
public ConsoleUI() {
scanner = new Scanner(System.in);
studentList = new ArrayList<>();
}
/**
* 显示学生信息管理界面
*/
public void show() {
while (true) {
System.out.println("======================");
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.println("0.退出系统");
System.out.println("======================");
System.out.print("请选择操作: ");
int choice = scanner.nextInt();
switch (choice) {
case 1:
addStudent();
break;
case 2:
deleteStudent();
break;
case 3:
modifyStudent();
break;
case 4:
queryStudent();
break;
case 5:
sortById();
break;
case 6:
sortByName();
break;
case 0:
System.exit(0);
break;
default:
System.out.println("请输入正确的选项!");
break;
}
}
}
/**
* 添加学生方法
*/
private void addStudent() {
System.out.println("请输入学生信息");
System.out.print("学号: ");
int id = scanner.nextInt();
System.out.print("姓名: ");
String name = scanner.next();
System.out.print("性别: ");
String sex = scanner.next();
System.out.print("年龄: ");
int age = scanner.nextInt();
Student student = new Student();
student.setId(id);
student.setName(name);
student.setSex(sex);
student.setAge(age);
studentList.add(student);
System.out.println("添加成功!");
}
/**
* 删除学生方法
*/
private void deleteStudent() {
System.out.print("请输入要删除学生的学号: ");
int id = scanner.nextInt();
boolean flag = false;
for (Student student : studentList) {
if (student.getId() == id) {
studentList.remove(student);
flag = true;
break;
}
}
if (flag) {
System.out.println("删除成功!");
} else {
System.out.println("未找到该学生,删除失败!");
}
}
/**
* 修改学生方法
*/
private void modifyStudent() {
System.out.print("请输入要修改学生的学号: ");
int id = scanner.nextInt();
boolean flag = false;
for (Student student : studentList) {
if (student.getId() == id) {
System.out.println("请输入修改后的学生信息");
System.out.print("姓名: ");
String name = scanner.next();
System.out.print("性别: ");
String sex = scanner.next();
System.out.print("年龄: ");
int age = scanner.nextInt();
student.setName(name);
student.setSex(sex);
student.setAge(age);
flag = true;
break;
}
}
if (flag) {
System.out.println("修改成功!");
} else {
System.out.println("未找到该学生,修改失败!");
}
}
/**
* 查询学生方法
*/
private void queryStudent() {
System.out.print("请输入要查询学生的学号或姓名: ");
String keyword = scanner.next();
List<Student> resultList = new ArrayList<>();
for (Student student : studentList) {
if (student.getName().contains(keyword) || String.valueOf(student.getId()).contains(keyword)) {
resultList.add(student);
}
}
if (resultList.size() > 0) {
System.out.println("查询结果:");
for (Student student : resultList) {
System.out.println(student);
}
} else {
System.out.println("未找到相关学生信息!");
}
}
/**
* 按学号排序方法
*/
private void sortById() {
Collections.sort(studentList, new Comparator<Student>() {
@Override
public int compare(Student o1, Student o2) {
return o1.getId() - o2.getId();
}
});
System.out.println("已按学号排序!");
}
/**
* 按姓名排序方法
*/
private void sortByName() {
Collections.sort(studentList, new Comparator<Student>() {
@Override
public int compare(Student o1, Student o2) {
return o1.getName().compareTo(o2.getName());
}
});
System.out.println("已按姓名排序!");
}
}
步骤三:实现运行入口
public class Main {
public static void main(String[] args) {
ConsoleUI consoleUI = new ConsoleUI();
consoleUI.show();
}
}
示例说明
假设我们需要添加三个学生信息:张三、李四、王五
======================
学生信息管理系统
1.添加学生信息
2.删除学生信息
3.修改学生信息
4.查询学生信息
5.按学号排序
6.按姓名排序
0.退出系统
======================
请选择操作: 1
请输入学生信息
学号: 001
姓名: 张三
性别: 男
年龄: 20
添加成功!
======================
学生信息管理系统
1.添加学生信息
2.删除学生信息
3.修改学生信息
4.查询学生信息
5.按学号排序
6.按姓名排序
0.退出系统
======================
请选择操作: 1
请输入学生信息
学号: 002
姓名: 李四
性别: 女
年龄: 21
添加成功!
======================
学生信息管理系统
1.添加学生信息
2.删除学生信息
3.修改学生信息
4.查询学生信息
5.按学号排序
6.按姓名排序
0.退出系统
======================
请选择操作: 1
请输入学生信息
学号: 003
姓名: 王五
性别: 男
年龄: 22
添加成功!
然后我们可以按照学号排序,查看排序结果:
======================
学生信息管理系统
1.添加学生信息
2.删除学生信息
3.修改学生信息
4.查询学生信息
5.按学号排序
6.按姓名排序
0.退出系统
======================
请选择操作: 5
已按学号排序!
这时运行结果如下:
======================
学生信息管理系统
1.添加学生信息
2.删除学生信息
3.修改学生信息
4.查询学生信息
5.按学号排序
6.按姓名排序
0.退出系统
======================
请选择操作: 4
请输入要查询学生的学号或姓名:
3
查询结果:
Student{id=3, name='王五', sex='男', age=22}
======================
学生信息管理系统
1.添加学生信息
2.删除学生信息
3.修改学生信息
4.查询学生信息
5.按学号排序
6.按姓名排序
0.退出系统
======================
请选择操作: 4
请输入要查询学生的学号或姓名:
李
查询结果:
Student{id=2, name='李四', sex='女', age=21}
======================
学生信息管理系统
1.添加学生信息
2.删除学生信息
3.修改学生信息
4.查询学生信息
5.按学号排序
6.按姓名排序
0.退出系统
======================
请选择操作: 0
通过以上示例,我们可以看出控制台学生信息管理系统的基本使用和操作方式。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java控制台实现学生信息管理系统(集合版) - Python技术站