Bài viết này sẽ giới thiệu về giải pháp quản lý sinh viên trong Java. Hãy cùng tìm hiểu và làm quen với bài tập này nhé!
Tạo chương trình quản lý sinh viên
Đề bài: Viết chương trình quản lý sinh viên. Mỗi đối tượng sinh viên có các thuộc tính sau: id, name, age, address và gpa (điểm trung bình).
Yêu cầu: tạo ra một menu với các chức năng sau:
/****/
- Thêm sinh viên.
- Sửa sinh viên theo id.
- Xóa sinh viên theo id.
- Sắp xếp sinh viên theo điểm trung bình.
- Sắp xếp sinh viên theo tên.
- Hiển thị danh sách sinh viên.
- Thoát chương trình. /****/
Lời giải
Trước khi xem lời giải, hãy thử làm bài tập này trước nhé. Dưới đây là một lời giải tham khảo.
Cấu trúc của project được tạo trên Eclipse:
Trong đó:
- Lớp
Student
để lưu thông tin cho mỗi sinh viên. - Lớp
StudentDao
để đọc và ghi thông tin sinh viên vào file. - Lớp
SortStudentByGPA
được sử dụng để sắp xếp sinh viên tăng dần theo điểm trung bình. - Lớp
SortStudentByName
được sử dụng để sắp xếp sinh viên tăng dần theo tên. - Lớp
StudentManager
cung cấp các phương thức để quản lý sinh viên như thêm, sửa, xóa, sắp xếp và hiển thị danh sách. - Lớp
Main
chứa phương thứcmain()
để chạy ứng dụng và hiển thị menu như yêu cầu của bài toán.
Lớp Student
Lớp này dùng để lưu thông tin cho mỗi sinh viên.
File: Student.java
Tạo file "student.txt" trong thư mục gốc của dự án để lưu danh sách sinh viên.
Trong trường hợp này, chúng ta sử dụng file để lưu trữ và truy xuất các đối tượng sinh viên. Do đó, lớp Student
cần implement Serializable
.
Lớp StudentDao
Lớp này chứa phương thức read()
để đọc thông tin danh sách sinh viên từ file "student.txt" và phương thức write()
để ghi thông tin danh sách sinh viên vào file.
Phương thức read()
sử dụng đối tượng ObjectInputStream
trong Java để đọc danh sách sinh viên từ file.
Phương thức write()
sử dụng đối tượng ObjectOutputStream
trong Java để ghi danh sách sinh viên vào file.
File: StudentDao.java
Lớp SortStudentByGPA
Lớp này implements Comparator
để sắp xếp sinh viên tăng dần theo điểm trung bình. Bạn có thể tìm hiểu thêm về cách sử dụng Comparator
trong Java.
File: SortStudentByGPA.java
Lớp SortStudentByName
Lớp này implements Comparator
để sắp xếp sinh viên tăng dần theo tên.
File: SortStudentByName.java
Lớp StudentManager
Lớp này cung cấp các phương thức để thêm, sửa, xóa, sắp xếp và hiển thị sinh viên.
Lớp Main
Lớp này chứa phương thức main()
và định nghĩa menu.
Kết quả:
Trên đây là bài tập quản lý sinh viên trong Java. Nếu bạn quan tâm, bạn có thể mở rộng bài toán bằng cách:
- Dựng giao diện cho chương trình bằng Swing, JavaFX hoặc JSP.
- Sử dụng cơ sở dữ liệu để lưu trữ thông tin sinh viên.
- Thêm chức năng tìm kiếm sinh viên.
Chúc bạn thành công!