Bài tập

Bài tập tự luận Java nâng cao có lời giải: Quản lý sinh viên

Huy Erick

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 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:

/****/

  1. Thêm sinh viên.
  2. Sửa sinh viên theo id.
  3. Xóa sinh viên theo id.
  4. Sắp xếp sinh viên theo điểm trung bình.
  5. Sắp xếp sinh viên theo tên.
  6. Hiển thị danh sách sinh viên.
  7. 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ức main() để 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!

1