Chương trình quản lý sinh viên bằng Java
Đề 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:
- Nhập danh sách sinh viên
- Xem danh sách sinh viên
- 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
- 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