TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN ********************** ĐỀ KIỂM TRA TỰ LUẬN Môn: IT07(Lập trình hướng đối tượng) Họ tên sinh viên:…………………………… Ngày sinh:………..…… Lớp: ………………….. ĐỀ SỐ 1 *Đề Bài: Viết chương trình theo hướng đối tượng thực hiện quản lý danh sách TAI NGHE theo yêu cầu sau: -Lớp PHUKIEN cho phép mô tả thông tin chung phụ kiện gồm: +Thuộc tính: MaPK(Mã phụ kiện), TenPK(Tên phụ kiện), MauSac(Màu sắc) +Phương thức: Khởi tạo, nhap( ), xuat( ), … -Lớp TAINGHE kế thừa từ lớp PHUKIEN bổ sung thêm các thuộc tính và định nghĩa thêm các phương thức sau: +Thuộc tính bổ sung: Loai(Loại tai nghe), SoLuongMua(Số lượng mua), DonGiaBan(Đơn giá bán) +Phương thức định nghĩa mới và bổ sung: Khởi tạo, nhap( ), xuat( ), thanhTien( ), … Trong đó: Thành tiền = Số lượng mua * Đơn giá bán -Chương trình chính cần quản lý danh sách TAINGHE với các yêu cầu sau: + Nhập danh sách tai nghe từ bàn phím + In lại danh sách tai nghe đã được nhập + Lưu danh sách tai nghe vào file "tainghe.dat" + Tính tổng tiền tất cả các tai nghe có trong danh sách *Hướng dẫn cách làm bài và nộp bài -Sinh viên tạo 01 file chương trình java hoặc tạo Project để thực hiện -Đầu mỗi file chương trình phải có đủ thông tin: Mã sinh viên, Họ tên, Lớp -Tên File chính của chương trình được đặt tên theo nguyên tắc sau: Nguyên tắc: Mã SV–Họ tên–Lớp–Số đề.java Ví dụ: 1910A001-NguyenThiHa-19A5-De01.java HẾT! TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN ********************** ĐỀ KIỂM TRA TỰ LUẬN Môn: IT07(Lập trình hướng đối tượng) Họ tên sinh viên:…………………………… Ngày sinh:………..…… Lớp: ………………….. ĐỀ SỐ 2 *Đề Bài: Viết chương trình theo hướng đối tượng thực hiện quản lý việc nhập SACHGIAOKHOA theo yêu cầu sau: -Lớp TAILIEU cho phép mô tả thông tin chung tài liệu gồm: +Thuộc tính: MaTaiLieu(Mã tài liệu), TenTaiLieu(Tên tài liệu), NamXB(Năm xuất bản) +Phương thức: Khởi tạo, nhap( ), xuat( ), … -Lớp SACHGIAOKHOA kế thừa từ lớp TAILIEU bổ sung thêm các thuộc tính và định nghĩa thêm các phương thức sau: +Thuộc tính bổ sung: Lop(Lớp), DonGiaNhap(Đơn giá nhập), SoLuongNhap(Số lượng nhập) +Phương thức định nghĩa mới và bổ sung: Khởi tạo, nhap( ), xuat( ), thanhTien( ), … Trong đó: Thành tiền = Đơn giá nhập * Số lượng nhập -Chương trình chính cần quản lý nhập danh sách SACHGIAOKHOA với các yêu cầu sau: + Nhập danh sách sách giáo khoa từ bàn phím + In lại danh sách sách giáo khoa đã nhập + Lưu danh sách sách giáo khoa vào file "sachgiaokhoa.dat" + Tính tổng tiền tất cả các sách giáo khoa đã nhập *Hướng dẫn cách làm bài và nộp bài -Sinh viên tạo 01 file chương trình java hoặc tạo Project để thực hiện -Đầu mỗi file chương trình phải có đủ thông tin: Mã sinh viên, Họ tên, Lớp -Tên File chính của chương trình được đặt tên theo nguyên tắc sau: Nguyên tắc: Mã SV–Họ tên–Lớp–Số đề.java Ví dụ: 1910A001-NguyenThiHa-19A5-De01.java HẾT! TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN ********************** ĐỀ KIỂM TRA TỰ LUẬN Môn: IT07(Lập trình hướng đối tượng) Họ tên sinh viên:…………………………… Ngày sinh:………..…… Lớp: ………………….. ĐỀ SỐ 3 *Đề Bài: Viết chương trình theo hướng đối tượng thực hiện quản lý việc thu HOADONDICHVU của chung cư theo yêu cầu sau: -Lớp CUDAN cho phép mô tả thông tin chung cư dân ở các căn hộ gồm: +Thuộc tính: SoPhong(Số phòng), TenCD(Tên cư dân), SoDT(Số điện thoại) +Phương thức: Khởi tạo, nhap( ), xuat( ), … -Lớp HOADONDICHVU kế thừa từ lớp CUDAN bổ sung thêm các thuộc tính và định nghĩa thêm các phương thức sau: +Thuộc tính bổ sung: TenDV(Tên dịch vụ), SoLuongSuDung(Số lượng sử dụng), DonGia(Đơn giá) +Phương thức định nghĩa mới và bổ sung: Khởi tạo, nhap( ), xuat( ), thanhTien( ), … Trong đó: Thành tiền = Số lượng sử dụng * Đơn giá -Chương trình chính cần quản lý nhập danh sách HOADONDICHVU với các yêu cầu sau: + Nhập danh sách hóa đơn dịch vụ từ bàn phím + In lại danh sách hóa đơn dịch vụ đã nhập + Lưu danh sách hóa đơn dịch vụ vào file "hoadondichvu.dat" + Tính tổng tiền tất cả các hóa đơn dịch vụ đã nhập *Hướng dẫn cách làm bài và nộp bài -Sinh viên tạo 01 file chương trình java hoặc tạo Project để thực hiện -Đầu mỗi file chương trình phải có đủ thông tin: Mã sinh viên, Họ tên, Lớp -Tên File chính của chương trình được đặt tên theo nguyên tắc sau: Nguyên tắc: Mã SV–Họ tên–Lớp–Số đề.java Ví dụ: 1910A001-NguyenThiHa-19A5-De01.java HẾT! GỢI Ý CÁCH CHẤM ĐIỂM BÀI KIỂM TRA TT NỘI DUNG ĐIỂM GHI CHÚ Sinh viên tổ chức bài Project và lưu thư mục Đặt tên file đúng yêu cầu Cung cấp đầy đủ thông tin trong file chương trình 0.5 Chương trình Xây dựng 02 lớp theo yêu cầu 2.0 Thực hiện nhập danh sách 2.0 Thực hiện hiện danh sách 2.0 Thực hiện lưu file 1.5 Thực hiện tính tổng 2.0 TỔNG: 10đ
Trang 1TRƯỜNG ĐẠI HỌC MỞ HÀ NỘIKHOA CÔNG NGHỆ THÔNG TIN**********************
ĐỀ KIỂM TRA TỰ LUẬNMôn: IT07(Lập trình hướng đối tượng)Họ tên sinh viên:……… Ngày sinh:……… …… Lớp: ………
ĐỀ SỐ 1*Đề Bài: Viết chương trình theo hướng đối tượng thực hiện quản lý danh sách TAI NGHE
theo yêu cầu sau:-Lớp PHUKIEN cho phép mô tả thông tin chung phụ kiện gồm:+Thuộc tính: MaPK(Mã phụ kiện), TenPK(Tên phụ kiện), MauSac(Màu sắc)+Phương thức: Khởi tạo, nhap( ), xuat( ), …
-Lớp TAINGHE kế thừa từ lớp PHUKIEN bổ sung thêm các thuộc tính và định nghĩa thêm
các phương thức sau:+Thuộc tính bổ sung: Loai(Loại tai nghe), SoLuongMua(Số lượng mua),DonGiaBan(Đơn giá bán)
+Phương thức định nghĩa mới và bổ sung: Khởi tạo, nhap( ), xuat( ), thanhTien(), …
Trong đó: Thành tiền = Số lượng mua * Đơn giá bán-Chương trình chính cần quản lý danh sách TAINGHE với các yêu cầu sau:+ Nhập danh sách tai nghe từ bàn phím
+ In lại danh sách tai nghe đã được nhập+ Lưu danh sách tai nghe vào file "tainghe.dat"+ Tính tổng tiền tất cả các tai nghe có trong danh sách*Hướng dẫn cách làm bài và nộp bài
-Sinh viên tạo 01 file chương trình java hoặc tạo Project để thực hiện
Trang 2-Đầu mỗi file chương trình phải có đủ thông tin: Mã sinh viên, Họ tên, Lớp-Tên File chính của chương trình được đặt tên theo nguyên tắc sau:
Nguyên tắc: Mã SV–Họ tên–Lớp–Số đề.javaVí dụ: 1910A001-NguyenThiHa-19A5-De01.javaHẾT!
TRƯỜNG ĐẠI HỌC MỞ HÀ NỘIKHOA CÔNG NGHỆ THÔNG TIN**********************
ĐỀ KIỂM TRA TỰ LUẬNMôn: IT07(Lập trình hướng đối tượng)Họ tên sinh viên:……… Ngày sinh:……… …… Lớp: ………
ĐỀ SỐ 2*Đề Bài: Viết chương trình theo hướng đối tượng thực hiện quản lý việc nhậpSACHGIAOKHOA theo yêu cầu sau:
-Lớp TAILIEU cho phép mô tả thông tin chung tài liệu gồm:+Thuộc tính: MaTaiLieu(Mã tài liệu), TenTaiLieu(Tên tài liệu), NamXB(Năm xuất bản)
+Phương thức: Khởi tạo, nhap( ), xuat( ), …-Lớp SACHGIAOKHOA kế thừa từ lớp TAILIEU bổ sung thêm các thuộc tính và định
nghĩa thêm các phương thức sau:+Thuộc tính bổ sung: Lop(Lớp), DonGiaNhap(Đơn giá nhập), SoLuongNhap(Số lượng
nhập)+Phương thức định nghĩa mới và bổ sung: Khởi tạo, nhap( ), xuat( ), thanhTien(), …
Trong đó: Thành tiền = Đơn giá nhập * Số lượng nhập
Trang 3-Chương trình chính cần quản lý nhập danh sách SACHGIAOKHOA với các yêu cầu sau:
+ Nhập danh sách sách giáo khoa từ bàn phím+ In lại danh sách sách giáo khoa đã nhập+ Lưu danh sách sách giáo khoa vào file "sachgiaokhoa.dat"+ Tính tổng tiền tất cả các sách giáo khoa đã nhập
*Hướng dẫn cách làm bài và nộp bài-Sinh viên tạo 01 file chương trình java hoặc tạo Project để thực hiện-Đầu mỗi file chương trình phải có đủ thông tin: Mã sinh viên, Họ tên, Lớp-Tên File chính của chương trình được đặt tên theo nguyên tắc sau:
Nguyên tắc: Mã SV–Họ tên–Lớp–Số đề.javaVí dụ: 1910A001-NguyenThiHa-19A5-De01.javaHẾT!
TRƯỜNG ĐẠI HỌC MỞ HÀ NỘIKHOA CÔNG NGHỆ THÔNG TIN**********************
ĐỀ KIỂM TRA TỰ LUẬNMôn: IT07(Lập trình hướng đối tượng)Họ tên sinh viên:……… Ngày sinh:……… …… Lớp: ………
ĐỀ SỐ 3*Đề Bài: Viết chương trình theo hướng đối tượng thực hiện quản lý việc thuHOADONDICHVU của chung cư theo yêu cầu sau:
-Lớp CUDAN cho phép mô tả thông tin chung cư dân ở các căn hộ gồm:+Thuộc tính: SoPhong(Số phòng), TenCD(Tên cư dân), SoDT(Số điện thoại)+Phương thức: Khởi tạo, nhap( ), xuat( ), …
-Lớp HOADONDICHVU kế thừa từ lớp CUDAN bổ sung thêm các thuộc tính và định
Trang 4nghĩa thêm các phương thức sau:+Thuộc tính bổ sung: TenDV(Tên dịch vụ), SoLuongSuDung(Số lượng sử dụng),
DonGia(Đơn giá)+Phương thức định nghĩa mới và bổ sung: Khởi tạo, nhap( ), xuat( ), thanhTien(), …
Trong đó: Thành tiền = Số lượng sử dụng * Đơn giá-Chương trình chính cần quản lý nhập danh sách HOADONDICHVU với các yêu cầu sau:
+ Nhập danh sách hóa đơn dịch vụ từ bàn phím+ In lại danh sách hóa đơn dịch vụ đã nhập+ Lưu danh sách hóa đơn dịch vụ vào file "hoadondichvu.dat"+ Tính tổng tiền tất cả các hóa đơn dịch vụ đã nhập
*Hướng dẫn cách làm bài và nộp bài-Sinh viên tạo 01 file chương trình java hoặc tạo Project để thực hiện-Đầu mỗi file chương trình phải có đủ thông tin: Mã sinh viên, Họ tên, Lớp-Tên File chính của chương trình được đặt tên theo nguyên tắc sau:
Nguyên tắc: Mã SV–Họ tên–Lớp–Số đề.javaVí dụ: 1910A001-NguyenThiHa-19A5-De01.javaHẾT!
GỢI Ý CÁCH CHẤM ĐIỂM BÀI KIỂM TRATT NỘI DUNG ĐIỂM GHI CHÚ
Sinh viên tổ chức bài Project và lưu thưmục
Đặt tên file đúng yêu cầuCung cấp đầy đủ thông tin trong filechương trình
0.5
Trang 5ChươngtrìnhXây dựng 02 lớp theo yêu cầu 2.0Thực hiện nhập danh sách 2.0Thực hiện hiện danh sách 2.0Thực hiện lưu file 1.5
Thực hiện tính tổng 2.0TỔNG: 10đ
HẾTBài làmĐỀ 1 - mã code/*
* Ma sinh vien: 22C1027D4973 * Ho ten: Nguyen Van A
* Lop: CNTT2 */
import java.io.Serializable;import java.io.FileOutputStream;import java.io.ObjectOutputStream;import java.io.FileInputStream;import java.io.ObjectInputStream;import java.io.IOException;
import java.text.DecimalFormat;import java.util.ArrayList;
import java.util.List;import java.util.Scanner;
Trang 6/** * Lop PHUKIEN */
class PHUKIEN implements Serializable { private String MaPK;
private String TenPK; private String MauSac;
// Constructor public PHUKIEN(String maPK, String tenPK, String mauSac) { this.MaPK = maPK;
this.TenPK = tenPK; this.MauSac = mauSac; }
public PHUKIEN() {}
// Getters and Setters public String getMaPK() { return MaPK; } public void setMaPK(String maPK) { this.MaPK = maPK; }
public String getTenPK() { return TenPK; } public void setTenPK(String tenPK) { this.TenPK = tenPK; }
public String getMauSac() { return MauSac; } public void setMauSac(String mauSac) { this.MauSac = mauSac; }
Trang 7@Override public String toString() { return "MaPK: " + MaPK + ", TenPK: " + TenPK + ", MauSac: " + MauSac;
}
public void nhap() { Scanner scanner = new Scanner(System.in); System.out.print("Nhap ma phu kien: "); this.MaPK = scanner.nextLine();
System.out.print("Nhap ten phu kien: "); this.TenPK = scanner.nextLine();
System.out.print("Nhap mau sac: "); this.MauSac = scanner.nextLine(); }
public void xuat() { System.out.println(this); }
}
/** * Lop TAINGHE ke thua tu lop PHUKIEN */
class TAINGHE extends PHUKIEN implements Serializable { private String Loai;
private int SoLuongMua;
Trang 8private double DonGiaBan;
public TAINGHE(String maPK, String tenPK, String mauSac, String loai, intsoLuongMua, double donGiaBan) {
super(maPK, tenPK, mauSac); this.Loai = loai;
this.SoLuongMua = soLuongMua; this.DonGiaBan = donGiaBan; }
public double getDonGiaBan() { return DonGiaBan; } public void setDonGiaBan(double donGiaBan) { this.DonGiaBan = donGiaBan; }
@Override public String toString() { return super.toString() + ", Loai: " + Loai + ", SoLuongMua: " + SoLuongMua + ", DonGiaBan: " + DonGiaBan;
}
Trang 9public void nhap() { super.nhap(); Scanner scanner = new Scanner(System.in); System.out.print("Nhap loai tai nghe: "); this.Loai = scanner.nextLine();
System.out.print("Nhap so luong mua: "); this.SoLuongMua = scanner.nextInt(); System.out.print("Nhap don gia ban: "); this.DonGiaBan = scanner.nextDouble(); }
public void xuat() { System.out.println(this); }
public double thanhTien() { return this.SoLuongMua * this.DonGiaBan; }
}
/** * Lop TaiNghe_22C1027D4973_NguyenVanA_CNTT2_De01 de quan ly danhsach cac tai nghe
*/public class TaiNghe_22C1027D4973_NguyenVanA_CNTT2_De01 { private List<TAINGHE> danhSachTaiNghe = new ArrayList<>(); private final String TEN_FILE = "tainghe.dat";
Trang 10// Nhap danh sach tai nghe public void nhapDanhSachTaiNghe() { Scanner scanner = new Scanner(System.in); System.out.print("Nhap so luong tai nghe: "); int soLuong = scanner.nextInt();
scanner.nextLine();
for (int i = 0; i < soLuong; i++) { System.out.println("Nhap thong tin cho tai nghe thu " + (i + 1) + ":"); TAINGHE taiNghe = new TAINGHE();
taiNghe.nhap(); danhSachTaiNghe.add(taiNghe); }
}
// In danh sach tai nghe public void inDanhSachTaiNghe() { for (TAINGHE taiNghe : danhSachTaiNghe) { taiNghe.xuat();
} }
// Luu danh sach vao file public void luuDanhSachVaoFile() { try (FileOutputStream fos = new FileOutputStream(TEN_FILE); ObjectOutputStream oos = new ObjectOutputStream(fos)) { oos.writeObject(danhSachTaiNghe);
Trang 11System.out.println("Ghi du lieu vao file thanh cong!"); } catch (IOException e) {
System.err.println("Loi: Khong the ghi du lieu vao file."); }
}
// Doc danh sach tu file public void docDanhSachTuFile() { try (FileInputStream fis = new FileInputStream(TEN_FILE); ObjectInputStream ois = new ObjectInputStream(fis)) {
danhSachTaiNghe = (List<TAINGHE>) ois.readObject(); System.out.println("Doc du lieu tu file thanh cong!");
for (TAINGHE taiNghe : danhSachTaiNghe) { taiNghe.xuat();
}
} catch (IOException | ClassNotFoundException e) { System.err.println("Loi: Khong the doc du lieu tu file."); e.printStackTrace();
} }
// Tinh tong tien public void tinhTongTien() { double tongTien = 0; for (TAINGHE taiNghe : danhSachTaiNghe) {
Trang 12tongTien += taiNghe.thanhTien(); }
DecimalFormat formatter = new DecimalFormat("#,###"); System.out.println("Tong tien tat ca cac tai nghe: " + formatter.format(tongTien));
}
// Chuong trinh chinh public static void main(String[] args) { Scanner scanner = new Scanner(System.in);
// Nhap thong tin sinh vien System.out.print("Nhap Ma sinh vien: "); String maSV = scanner.nextLine();
System.out.print("Nhap Ho ten: "); String hoTen = scanner.nextLine(); System.out.print("Nhap Lop: "); String lop = scanner.nextLine();
// Hien thi thong tin sinh vien System.out.println("\nThong tin sinh vien:"); System.out.println("Ma sinh vien: " + maSV); System.out.println("Ho ten: " + hoTen);
System.out.println("Lop: " + lop);
Trang 13TaiNghe_22C1027D4973_NguyenVanA_CNTT2_De01 danhSachTaiNghe = new
TaiNghe_22C1027D4973_NguyenVanA_CNTT2_De01();
// Nhap va luu danh sach vao file danhSachTaiNghe.nhapDanhSachTaiNghe(); danhSachTaiNghe.inDanhSachTaiNghe(); danhSachTaiNghe.luuDanhSachVaoFile(); danhSachTaiNghe.tinhTongTien();
// Doc lai danh sach tu file va in ra System.out.println("\nDoc danh sach tu file:"); danhSachTaiNghe.docDanhSachTuFile(); }
}
***Ảnh màn hình:
*** ĐỀ 2
Trang 14Mã code/*
* Ma sinh vien: 22C1027D4973 * Ho ten: Nguyen Van A
* Lop: CNTT2 */
import java.io.Serializable;import java.io.FileOutputStream;import java.io.ObjectOutputStream;import java.io.FileInputStream;import java.io.ObjectInputStream;import java.io.IOException;
import java.text.DecimalFormat;import java.util.ArrayList;
import java.util.List;import java.util.Scanner;
/** * Lop TAILIEU */
class TAILIEU implements Serializable { private String MaTaiLieu;
private String TenTaiLieu; private int NamXB;
// Constructor
Trang 15public TAILIEU(String maTaiLieu, String tenTaiLieu, int namXB) { this.MaTaiLieu = maTaiLieu;
this.TenTaiLieu = tenTaiLieu; this.NamXB = namXB;
}
public TAILIEU() {}
// Getters and Setters public String getMaTaiLieu() { return MaTaiLieu; } public void setMaTaiLieu(String maTaiLieu) { this.MaTaiLieu = maTaiLieu;}
public String getTenTaiLieu() { return TenTaiLieu; } public void setTenTaiLieu(String tenTaiLieu) { this.TenTaiLieu = tenTaiLieu; }
public int getNamXB() { return NamXB; } public void setNamXB(int namXB) { this.NamXB = namXB; }
@Override public String toString() { return "MaTaiLieu: " + MaTaiLieu + ", TenTaiLieu: " + TenTaiLieu + ", NamXB: " + NamXB;
}
public void nhap() { Scanner scanner = new Scanner(System.in);
Trang 16System.out.print("Nhap ma tai lieu: "); this.MaTaiLieu = scanner.nextLine(); System.out.print("Nhap ten tai lieu: "); this.TenTaiLieu = scanner.nextLine(); System.out.print("Nhap nam xuat ban: "); this.NamXB = scanner.nextInt();
}
public void xuat() { System.out.println(this); }
}
/** * Lop SACHGIAOKHOA ke thua tu lop TAILIEU */
class SACHGIAOKHOA extends TAILIEU implements Serializable { private int Lop;
private double DonGiaNhap; private int SoLuongNhap;
// Constructor public SACHGIAOKHOA(String maTaiLieu, String tenTaiLieu, int namXB, int lop, double donGiaNhap, int soLuongNhap) {
super(maTaiLieu, tenTaiLieu, namXB); this.Lop = lop;
this.DonGiaNhap = donGiaNhap; this.SoLuongNhap = soLuongNhap;
Trang 17}
public SACHGIAOKHOA() {}
// Getters and Setters public int getLop() { return Lop; } public void setLop(int lop) { this.Lop = lop; }
public double getDonGiaNhap() { return DonGiaNhap; } public void setDonGiaNhap(double donGiaNhap) { this.DonGiaNhap = donGiaNhap; }
public int getSoLuongNhap() { return SoLuongNhap; } public void setSoLuongNhap(int soLuongNhap) { this.SoLuongNhap = soLuongNhap; }
@Override public String toString() { return super.toString() + ", Lop: " + Lop + ", DonGiaNhap: " + DonGiaNhap + ", SoLuongNhap: " + SoLuongNhap;
}
public void nhap() { super.nhap(); Scanner scanner = new Scanner(System.in); System.out.print("Nhap lop: ");
this.Lop = scanner.nextInt(); System.out.print("Nhap don gia nhap: ");
Trang 18this.DonGiaNhap = scanner.nextDouble(); System.out.print("Nhap so luong nhap: "); this.SoLuongNhap = scanner.nextInt(); }
public void xuat() { System.out.println(this); }
public double thanhTien() { return this.SoLuongNhap * this.DonGiaNhap; }
}
/** * Lop DanhSachSachGiaoKhoa de quan ly danh sach cac sach giao khoa */
class DanhSachSachGiaoKhoa { private List<SACHGIAOKHOA> danhSachSachGiaoKhoa = new ArrayList<>();
private final String TEN_FILE = "sachgiaokhoa.dat";
// Nhap danh sach sach giao khoa public void nhapDanhSachSachGiaoKhoa() { Scanner scanner = new Scanner(System.in); System.out.print("Nhap so luong sach giao khoa: "); int soLuong = scanner.nextInt();
scanner.nextLine();
Trang 19for (int i = 0; i < soLuong; i++) { System.out.println("Nhap thong tin cho sach giao khoa thu " + (i + 1) + ":");
SACHGIAOKHOA sachGiaoKhoa = new SACHGIAOKHOA(); sachGiaoKhoa.nhap();
danhSachSachGiaoKhoa.add(sachGiaoKhoa); }
}
// In danh sach sach giao khoa public void inDanhSachSachGiaoKhoa() { for (SACHGIAOKHOA sachGiaoKhoa : danhSachSachGiaoKhoa) { sachGiaoKhoa.xuat();
} }
// Luu danh sach sach giao khoa vao file public void luuDanhSachVaoFile() { try (FileOutputStream fos = new FileOutputStream(TEN_FILE); ObjectOutputStream oos = new ObjectOutputStream(fos)) { oos.writeObject(danhSachSachGiaoKhoa);
System.out.println("Ghi du lieu vao file thanh cong!"); } catch (IOException e) {
System.err.println("Loi: Khong the ghi du lieu vao file."); }
}