Xây dụng lớp học sinh trong Java

Bản quyền thuộc về TITV.vn, 

vui lòng không đăng tải lại nội dung từ trang này.

 Sơ đồ lớp 

Xây dụng lớp học sinh trong Java

public class MyDate { private int day; private int month; private int year; public MyDate(int d, int m, int y) { this.day = d; this.month = m; this.year = y; } public void printDay() { System.out.println("Day: "+this.day); } public void printMonth() { System.out.println("Month: "+this.month); } public void printYear() { System.out.println("Year: "+this.year); } public void printDate() { System.out.println("Date: "+this.day+"-"+this.month+"-"+this.year); } } public class Main { public static void main(String[] args) { int d; MyDate md = new MyDate(25, 2, 2029); md.printDay(); md.printMonth(); md.printYear(); md.printDate(); } }

Đề bài: Viết chương trình sử dụng ngôn ngữ lập trình Java tạo lớp Time biểu diễn thời gian gồm 3 thuộc tính giây, phút, giờ (second, minute, hour) và các phương thức: Khởi tạo, lấy và thiết lập giá trị cho các thuộc tính, tăng giờ, phút, giây lên 1 đơn vị. Tại hàm main, tạo đối tượng lớp Time có giá trị giờ, phút, giây là 7, 0, 0 sau đó dùng vòng lặp while vô tận để biểu diễn đồng hồ.


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 chia các thành phần khi xây dựng lớp
  • Xác định kiểu dữ liệu đúng cho các biến và hàm

Cấu trúc thư mục: src |——BuildClass    |——Time.java |——UseClass    |——MainUse.java

Code tham khảo dưới đây được viết trên JDK ver 8.x:


File Time.java: package BuildClass; public class Time { // Thuoc tinh private int second; // tu 0 den 59 private int minute; // tu 0 den 59 private int hour; // tu 0 den 23 // Phuong thuc // Ham khoi tao khong doi so public Time() { this.second = 0; this.minute = 0; this.hour = 0; } // Ham khoi tao co doi so public Time(int second, int minute, int hour) { this.second = second; this.minute = minute; this.hour = hour; } // Ham getter va setter cho cac thuoc tinh public int getSecond() { return second; } public void setSecond(int second) { // Neu secord > 60 thi reset second = 0 if (second >= 0 && second < 60) { this.second = second; } else { this.second = 0; } } public int getMinute() { return minute; } public void setMinute(int minute) { // Neu minute > 60 thi reset minute = 0 if (minute >= 0 && minute < 60) { this.minute = minute; } else { this.minute = 0; } } public int getHour() { return hour; } public void setHour(int hour) { // Neu hour > 23 thi reset hour =0 if (hour >= 0 && hour < 24) { this.hour = hour; } else { this.hour = 0; } } // Hien thi thoi gian @Override public String toString() { String str = ""; if (hour == 12 || hour == 0) { str += 12; } else { str += (hour % 12); } str += ":"; if (minute < 10) { str += "0"; } else { str += ""; } str += minute + ":"; if (second < 10) { str += "0"; } else { str += ""; } str += second; if (hour < 12) { str += " AM"; } else { str += " PM"; } return str; } // Tang giay len 1 don vi public void tangGiay() { this.setSecond(this.second + 1); // Neu giay tang len 60 thi giay reset ve 0, va tang phut len 1 if (this.second == 0) { tangPhut(); } } // Tang phut len 1 don vi public void tangPhut() { this.setMinute(this.minute + 1); // Neu phut tang len 60 thi phut reset ve 0, va tang gio len 1 if (this.minute == 0) { tangGio(); } } // Tang gio len 1 don vi, neu gio len 24 thi gio reset ve 0 public void tangGio() { this.setHour(this.hour + 1); } }

File MainUse.java:

package UseClass; import BuildClass.Time; public class MainUse { public static void main(String[] args) { // Khai bao doi tuong Time O = new Time(0, 0, 7); System.out.println("Thoi gian da thiet lap: " + O.toString()); while (true) { // Hien thi thoi gian hien tai System.out.println(O.toString()); try { Thread.sleep(1000); O.tangGiay(); } catch (Exception ex) { } } } }


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