Đề 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