Bài tập sql về quản lý sinh viên java năm 2024

Bài tập quản lý sinh viên trong Java Trong bài viết này, chúng ta sẽ tìm hiểu cách xây dựng một chương trình quản lý sinh viên bằng ngôn ngữ Java. Chương trình sẽ cho...

Bài tập quản lý sinh viên trong Java

Trong bài viết này, chúng ta sẽ tìm hiểu cách xây dựng một chương trình quản lý sinh viên bằng ngôn ngữ Java. Chương trình sẽ cho phép thêm, sửa, xóa, sắp xếp và hiển thị thông tin sinh viên. Chúng ta cũng sẽ tìm hiểu về cách lưu trữ danh sách sinh viên vào file "student.txt".

Bài tập quản lý sinh viên trong Java

Đề bài yêu cầu xây dựng một chương trình quản lý sinh viên 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 ta cũng yêu cầu lưu trữ danh sách sinh viên vào file "student.txt" hoặc cơ sở dữ liệu. ## Cấu trúc của dự án Cấu trúc của dự án trên Eclipse như sau:
  • Lớp Student để lưu thông tin cho mỗi sinh viên.
  • Lớp StudentDao để đọc và ghi danh sách sinh viên vào file.
  • Lớp SortStudentByGPA được implements Comparator để sắp xếp sinh viên theo điểm trung bình.
  • Lớp SortStudentByName được implements Comparator để sắp xếp sinh viê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ị.
  • Lớp Main chứa phương thức public static void main[] để chạy ứng dụng và menu như yêu cầu của bài toán.
## Cách giải quyết bài tập Trước khi xem lời giải, hãy thử tự làm bài tập này. Lời giải dưới đây chỉ mang tính chất tham khảo. ### 1\. Tạo lớp Student.java Lớp Student được sử dụng để lưu thông tin của mỗi sinh viên. File: Student.java ### 2\. Tạo lớp StudentDao.java Tạo file "student.txt" tại thư mục gốc của dự án để lưu danh sách sinh viên. ![][////i0.wp.com/nanado.edu.vn/uploads/images/blog/admin/2024/02/13/bai-tap-quan-ly-sinh-vien-trong-java-1707757941.webp]Ví dụ về file "student.txt" Trong trường hợp này, chúng ta sử dụng file để lưu trữ và truy xuất danh sách sinh viên. Vì vậy, lớp Student phải được implements Serializable. Lớp StudentDao 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 ### 3\. Tạo lớp SortStudentByGPA.java Lớp SortStudentByGPA được implements Comparator được sử dụng để sắp xếp danh sách sinh viê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 ### 4\. Tạo lớp SortStudentByName.java Lớp SortStudentByName implements Comparator được sử dụng để sắp xếp danh sách sinh viên theo tên. File: SortStudentByName.java ### 5\. Tạo lớp StudentManager.java Lớp StudentManager 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. File: StudentManager.java ### 6\. Tạo lớp Main.java Lớp Main chứa phương thức main[], định nghĩa menu cho chương trình. File: Main.java ## Kết quả Chúng ta đã xây dựng thành công một ứng dụng quản lý sinh viên đơn giản bằng Java. Bạn có thể mở rộng ứng dụng này bằng cách: Đề bài: Viết chương trình sử dụng ngôn ngữ lập trình Java để quản lý sinh viên gồm các chức năng cơ bản như sau:
  1. Nhập danh sách sinh viên
  2. Xem danh sách sinh viên
  3. Sắp xếp và hiển thị danh sách sinh viên theo chiều tăng dần của điểm trung bình
  4. Tìm kiếm sinh viên theo tên
Giả sử mỗi sinh viên gồm các thuộc tính như ID, tên và điểm trung bình. Yêu cầu kiến thức:
  • Xác định đối tượng chương trình từ đối tượng thực tế
  • Phân tích, xác định các thuộc tính cũng như phương thức của từng đối tượng
  • Xác định đúng kiểu dữ liệu cho các biến và các hàm
  • Phân chia thành các hàm cho hợp lý
Cấu trúc thư mục: src |——BuildClass |——Student.java |——SortByDiemTB.java |——QuanLySinhVien.java |——UseClass |——MainClass.java Code tham khảo dưới đây được viết trên JDK ver 8.x: File Student.java:

package BuildClass; import java.util.Scanner; public class Student {

// Thuoc tinh  
private int id;  
private String ten;  
private double diemTB;
// Phuong thuc  
// Ham khoi tao khong doi so  
public Student[] {
}
// Ham khoi tao co doi so  
public Student[int id, String ten, double diemTB] {  
    this.id = id;  
    this.ten = ten;  
    this.diemTB = diemTB;  
}
// Ham nhap vao thong tin sinh vien  
public void nhapThongTin[Scanner sc] {  
    System.out.print["\tNhap id: "];  
    id = sc.nextInt[];  
    System.out.print["\tNhap ten: "];  
    sc.nextLine[];  
    ten = sc.nextLine[];  
    System.out.print["\tNhap diem trung binh: "];  
    diemTB = sc.nextDouble[];  
}
// Ham hien thi thong tin sinh vien  
public void hienThiThongTin[] {  
    System.out.println["\tId: " + id];  
    System.out.println["\tTen: " + ten];  
    System.out.println["\tDiem trung binh: " + diemTB];  
}
// Ham lay thong tin diem trung binh  
public double getDiemTB[] {  
    return diemTB;  
}
// Ham lay thong tin ten sinh vien  
public String getTen[] {  
    return ten;  
}  
}

File SortByDiemTB.java:

package BuildClass; import java.util.Comparator; public class SortByDiemTB implements Comparator {

// Ham so sanh 2 doi tuong student  
public int compare[Student a, Student b] {  
    return [int] [a.getDiemTB[] - b.getDiemTB[]];  
}  
}

File QuanLySinhVien.java:

package BuildClass; import java.util.ArrayList; import java.util.Collections; import java.util.Scanner; public class QuanLySinhVien {

// Thuoc tinh  
private ArrayList dssv;
// Phuong thuc  
// Ham khoi tao  
public QuanLySinhVien[] {  
    dssv = new ArrayList[10];  
}
// Ham them sinh vien vao danh sach  
public void themSV[Student sv] {  
    dssv.add[sv];  
}
// Ham nhap danh sach sinh vien  
public void nhapDanhSach[Scanner sc] {  
    Student sv;
    System.out.print["Nhap so luong sinh vien: "];  
    int n = sc.nextInt[];
    System.out.println["Nhap danh sach sinh vien: "];  
    for [int i = 0; i < n; i++] {  
        System.out.println["Sinh vien thu " + [i + 1] + " la:"];  
        sv = new Student[];  
        sv.nhapThongTin[sc];
        // Them sv vao danh sach  
        themSV[sv];  
    }  
}
// Ham hien thi danh sach sinh vien  
public void hienThiDanhSach[] {  
    int i = 1;  
    for [Student sv : dssv] {  
        System.out.println["Sinh vien thu " + i + " la:"];  
        sv.hienThiThongTin[];  
        i++;  
    }  
}
// Ham sap xep sinh vien theo chieu tang dan cua diem trung binh  
public void sapXepTheoDiemTB[] {  
    // Sap xep  
    Collections.sort[dssv, new SortByDiemTB[]];  
}
// Ham tim kiem sinh vien theo ten  
public void timKiemTheoTen[String name] {  
    for [Student sv : dssv] {  
        if [name.equals[sv.getTen[]]] {  
            sv.hienThiThongTin[];  
        }  
    }  
}  
}

File MainClass.java:

package UseClass; import BuildClass.QuanLySinhVien; import java.util.Scanner; public class MainClass {

public static void main[String[] args] {  
    Scanner sc = new Scanner[System.in];
    // Khai bao doi tuong quan ly  
    QuanLySinhVien ql = new QuanLySinhVien[];
    ql.nhapDanhSach[sc];
    System.out.println["Danh sach sinh vien vua nhap la:"];  
    ql.hienThiDanhSach[];
    ql.sapXepTheoDiemTB[];
    System.out.println["Danh sach sinh vien sau khi sap xep la:"];  
    ql.hienThiDanhSach[];
    // Nhap ten can tim kiem  
    System.out.print["Nhap vao ten sinh vien can tim kiem: "];  
    sc.nextLine[];  
    String name = sc.nextLine[];  
    System.out.println["Thong tin sinh vien co ten la " + name + " la:"];  
    ql.timKiemTheoTen[name];
    sc.close[];  
}  
}

`

Kết luận:

  • Bạn có thể tham khảo thêm khóa học lập trình C từ cơ bản đến nâng cao. Xem tại đây
  • Bạn có thể tham khảo thêm khóa học Thành thạo lập trình C#. Xem tại đây
  • Bạn có thể tham khảo thêm khóa học Ôn tập OOP cơ bản trong Java. Xem tại đây

Chủ Đề