On Tap java *** QUẢN LÝ CÁC CHUYẾN XE public class BT_NC { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc= new Scanner(System.in); ArrayList arr= new ArrayList(); int chon; do{ System.out.println("\nChon:1-5? \n\t1.Ngoai Thanh \n\t2.Noi Thanh \n\t3.Xuat Thong Tin: \n\t4.Doanh thu: \n\t5.Thoat!"); chon=sc.nextInt(); switch(chon) { case 1: System.out.println("Nhap thong tin NGOAI THANH:"); ChuyenXe1 ngth = new Ngoaithanh(); ngth.nhap(); arr.add(ngth); break; case 2: System.out.println("Nhap thong tin NOI THANH:"); Noithanh nth = new Noithanh(); nth.nhap(); arr.add(nth); break; case 3: System.out.println("Thong Tin Sau Khi Nhap:"); for(ChuyenXe1 i: arr) System.out.println(i.toString()); break; case 4: System.out.println("Tong Doanh Thu:"); double sum1=0.0; double sum2=0.0; for(ChuyenXe1 i: arr) if(i instanceof Ngoaithanh) sum1+=i.getDT(); for(ChuyenXe1 i: arr) if(i instanceof Noithanh) sum2+=i.getDT(); System.out.println("Tong Doanh Thu NGOAI THANH: "+sum1); System.out.println("Tong Doanh Thu NOI THANH: "+sum2); break; case 5: sc.close(); System.out.println("THOAT!"); break; default: System.out.println("\nNhap Sai! \n\tVui long nhap lai 1-5?"); } }while(chon!=5); } } class ChuyenXe1 { private String MaCX,TenTX,SoX; private double Doanhthu; Scanner sc= new Scanner(System.in); public ChuyenXe1() { } public ChuyenXe1(String MaCX, String TenTX,String SoX,double Doanhthu) { this.MaCX=MaCX; this.TenTX=TenTX; this.SoX=SoX; this.Doanhthu=Doanhthu; } public void nhap() { System.out.println("Nhap Ma Chuyen:"); MaCX=sc.nextLine(); System.out.println("Nhap Ten TX:"); TenTX=sc.nextLine(); System.out.println("Nhap So Xe:"); SoX=sc.nextLine(); System.out.println("Nhap Doanh Thu:"); Doanhthu=sc.nextDouble(); } public double getDT() { return Doanhthu; } public void setDT(double Doanhthu) { this.Doanhthu=Doanhthu; } public String toString() { return "\n > Ma So Chuyen: "+MaCX+"\n\tTai Xe: "+TenTX+"\n\tSo Xe: "+SoX; } } class Ngoaithanh extends ChuyenXe1 { private String Noiden; private int soNgay; public Ngoaithanh() { } public Ngoaithanh(String MaCX, String TenTX,String SoX,double Doanhthu,String Noiden, int soNgay) { super(MaCX,TenTX,SoX,Doanhthu); this.Noiden=Noiden; this.soNgay=soNgay; } @Override public void nhap() { super.nhap(); System.out.println("Nhap Noi Den:"); Noiden=sc.next(); System.out.println("Nhap So Ngay:"); soNgay=sc.nextInt(); } public String toString() { return "\n*Ngoai Thanh"+super.toString()+String.format("\n\tNoi den: %s\n\tSo Ngay: %d\n\tDoanh thu: %.2f", this.Noiden,this.soNgay,super.getDT()); } } class Noithanh extends ChuyenXe1 { private double Sokm; private String SoTuyen; public Noithanh() { } public Noithanh(String MaCX, String TenTX,String SoX,double Doanhthu,double Sokm,String SoTuyen) { super(MaCX,TenTX,SoX,Doanhthu); this.Sokm=Sokm; this.SoTuyen=SoTuyen; } @Override public void nhap(){ super.nhap(); System.out.println("Nhap So Km:"); Sokm=sc.nextDouble(); System.out.println("Nhap So Tuyen:"); SoTuyen=sc.next(); } public String toString() { return "\n*Noi Thanh"+super.toString()+String.format("\n\tSo Km: %.3f \n\tSo Tuyen: %s \n\tDoanh thu: %.2f", Sokm,SoTuyen,super.getDT()); } } QUẢN LÝ SÁCH THƯ VIỆN public class QL_TV { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc= new Scanner(System.in); ArrayList arr= new ArrayList(); int chon; do{ System.out.println("Menu: \n1.Sach GK \n2.Sach TK \n3.Xuat Thong Tin \n4.Tong Tien tung loai \n5.TBC don gia SGK \n6.Xuat NXB \n7.Thoat! \nMoi chon(1->6):"); chon=sc.nextInt(); switch(chon) { case 1: System.out.println("\nSach GK:"); SGK gk=new SGK(); gk.nhap(); arr.add(gk); break; case 2: System.out.println("\nSach TK:"); STK tk= new STK(); tk.nhap(); arr.add(tk); break; case 3: System.out.println("\nThong tin sau nhap: "); for(Sach i: arr) System.out.println(i.toString()); break; case 4: System.out.println("Tong Tien tung loai: "); double sum1=0.0; double sum2=0.0; for(Sach i: arr) if(i instanceof SGK) sum1+=i.Thanhtien(); for(Sach i: arr) if(i instanceof STK) sum2+=i.Thanhtien(); System.out.format("\nTong doanh thu SGK: %.2f ",sum1); System.out.format("\nTong doanh thu STK: %.2f ",sum2); break; case 5: System.out.println("TBC Don Gia SGK:"); double sumDG=0.0; double sumTBC=0.0; for(Sach i : arr) if(i instanceof SGK) sumDG+=i.getDG(); sumTBC= sumDG /arr.size(); System.out.format("\nTBC Don Gia SGK: %.2f ",sumTBC); break; case 6: String timXB=""; System.out.format("\nTim Nha Xuat Ban: "); System.out.format("\nNhap Nha XB: "); timXB=sc.next(); for(Sach i: arr) if(i.getNhaXB().equalsIgnoreCase(timXB)) System.out.println(i.toString()); else System.out.println("Thong Tin khong tim thay!"); break; case 7: sc.close(); break; } } default: System.out.println("Chon 1-6"); } while(chon!=7); } abstract class Sach { private String MaSach, NhaXB; private double Dongia; private int Soluong; Scanner sc= new Scanner(System.in); public Sach() { } public Sach(String MaSach, String NhaXB,int Soluong, double Dongia) { this.MaSach=MaSach; this.NhaXB=NhaXB; this.Soluong=Soluong; this.Dongia=Dongia; } public void nhap() { System.out.println("Nhap MaSach=sc.next(); System.out.println("Nhap NhaXB=sc.next(); System.out.println("Nhap Soluong=sc.nextInt(); System.out.println("Nhap Dongia=sc.nextDouble(); Ma Sach:"); Nha XB:"); So Luong:"); Don Gia:"); } public double getSL() { return this.Soluong; } public double getDG() { return this.Dongia; } public String getNhaXB() { return NhaXB; } public String toString() { return "\nMa Sach: "+this.MaSach+"\n\t\tNha Xuar Ban: "+this.NhaXB+", So Luong: "+this.Soluong+", Don Gia: "+this.Dongia; } public abstract double Thanhtien(); } class SGK extends Sach { private String Tinhtrang; private int num; public SGK() { } public SGK(String MaSach, String NhaXB,int Soluong, double Dongia,String Tinhtrang) { super(MaSach,NhaXB,Soluong,Dongia); this.Tinhtrang=Tinhtrang; } public String getTT() { return Tinhtrang; } public int getNum() { return num; } public String tinhTrangSach(int x) { switch (num) { case 0: Tinhtrang = "cũ"; break; case 1: Tinhtrang = "mới"; break; default: break; } } return Tinhtrang; public void nhap() { super.nhap(); System.out.println("Nhap Tinh Trang (0 - Cu, 1- Moi):"); num=sc.nextInt(); } public double Thanhtien() { if(getNum()==0) return (getSL()*getDG()*0.05); else return getSL()*getDG(); } public String toString() { return super.toString()+ ", Tinh trang: "+tinhTrangSach(num)+" -> Thanh tien: "+Thanhtien(); } } class STK extends Sach { private String NgayNhap; private double thue; public STK() { } public STK(String MaSach, String NhaXB,int Soluong, double Dongia,String NgayNhap,double thue) { super(MaSach,NhaXB,Soluong,Dongia); this.NgayNhap=NgayNhap; this.thue=thue; } public void nhap() { super.nhap(); System.out.println("Nhap nhap:"); NgayNhap=sc.next(); System.out.println("Nhap thue:"); thue=sc.nextDouble(); } public double Thanhtien() { return getDG()*getSL()*thue; } public String toString() { return super.toString() + ", Ngay Nhap: "+NgayNhap+", Thue: "+thue+"%, Thanh Tien: "+Thanhtien(); } } QUẢN LÝ CÁC GIAO DỊCH public class QL_BANK { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); ArrayList arr = new ArrayList(); int chon; do{ System.out.println("\nMENU: \n\t1.Giao Dich Vang \n\t2.Giao Dich Tien Te \n\t3.Xuat Thong Tin \n\t4.Tong SL tung GD \n\t5 TB Thanh Tien GDTT \n\t6.Don Gia >1M \n\t7.Thoat! \nChon: "); chon=sc.nextInt(); switch(chon) { case 1: System.out.println(" GD Vang dang dien "); Vang vg = new Vang(); vg.nhap(); arr.add(vg); break; case 2: System.out.println(" GD Tien Mat dang dien "); Tien tn = new Tien(); tn.nhap(); arr.add(tn); break; case 3: System.out.println("\nThong Tin sau Giao Dich: "); for(GiaoDich i : arr) System.out.println(i.toString()); break; case 4: System.out.println("\nTong SL Tung Giao Dich: "); int sum1=0; int sum2=0; for(GiaoDich i : arr) { if(i instanceof Vang) sum1+=i.getSL(); if(i instanceof Tien) sum2+=i.getSL(); } System.out.println("\n\tTong SL GD Vang: "+sum1); System.out.println("\n\tTong SL GD Tien Mat: "+sum2); break; case 5: System.out.println("\nTrung Binh Thanh Tien tung GD: "); double sumTT=0.00; double sumTTV=0.00; double sumTTM=0.00; for( GiaoDich i : arr) sumTT +=i.Thanhtien(); for(GiaoDich i : arr) { if(i instanceof Vang) sumTTV +=i.Thanhtien(); if(i instanceof Tien) sumTTM += i.Thanhtien(); } System.out.format("\n\tTrung Binh Thanh Tien Giao Dich Vang: %.2f",sumTTV/sumTT); System.out.format("\n\tTrung Binh Thanh Tien Giao Dich Tien Mat: %.2f",sumTTM/sumTT); break; case 6: System.out.println("\nGiao Dich > Ty:"); for(GiaoDich i : arr){ if( i.getDG() >= 1000000.00) System.out.println(i.toString()); } break; case 7: System.out.println("\nDONE!"); sc.close(); break; default: System.out.println("Loi! Vui long nhap lai!"); } } while(chon!=7); } } abstract class GiaoDich { private String MaGD; private double Dongia; private int Soluong; Scanner sc=new Scanner(System.in); private String NgayGD; public abstract double Thanhtien(); public GiaoDich() { } public GiaoDich(String MaGD,String NgayGD,double Dongia,int Soluong) { this.MaGD=MaGD; this.NgayGD=NgayGD; this.Dongia=Dongia; this.Soluong=Soluong; } public int getSL() { return this.Soluong; } public double getDG() { return this.Dongia; } public String getNgayGD() { return this.NgayGD; } public void nhap() { System.out.println("\nNhap MaGD: "); MaGD=sc.next(); System.out.println("\nNhap Ngay GD: "); NgayGD=sc.next(); System.out.println("\nNhap Don Gia: "); Dongia=sc.nextDouble(); System.out.println("\nNhap So Luong: "); Soluong=sc.nextInt(); } public String toString() { return String.format("\n\tMaGD: %s \n\tDate: %s \n\tDon Gia: %.2f \n\tSo Luong: %d ",this.MaGD,this.NgayGD,this.Dongia,this.Soluong); } } class Vang extends GiaoDich { private String Loaivang; public Vang() { } public Vang(String MaGD,String NgayGD,double Dongia,int Soluong,String Loaivang) { super(); this.Loaivang=Loaivang; } public void nhap() { super.nhap(); System.out.println("\nNhap Loai Vang: "); Loaivang=sc.next(); } public double Thanhtien() { return getDG()*getSL(); } public String toString() { return "*Giao Dich Vang: "+super.toString()+ String.format("\n\tLoai Vang: %s \n\tThanh Tien: %.2f VND",this.Loaivang,this.Thanhtien()); } } class Tien extends GiaoDich { System.out.println("NHA DAT \n "); GDD gd= new GDD(); gd.nhap(); arr.add(gd); break; case 2: System.out.println("NHA THUE \n "); GDN gn= new GDN(); gn.nhap(); arr.add(gn); break; case 3: System.out.println("\nThong Tin GD"); for(GDDAT i : arr) i.xuat(); break; case 4: System.out.println("\nTONG SL TUNG GD:\n "); int sum1=0; int sum2=0; for(GDDAT i: arr) if(i instanceof GDD) sum1+=i.ThanhTien(); for(GDDAT i: arr) if(i instanceof GDN) sum2+=i.ThanhTien(); System.out.format("\n\tTong TT GDD: %d", sum1); System.out.format("\n\tTong TT GDN: %d", sum2); break; case 5: System.out.println("\nTB TT GDD"); double TONG_TT=0.0,TONGTIEN_GDD=0.0; for(GDDAT i:arr) TONG_TT+=i.ThanhTien(); for(GDDAT i:arr) { if(i instanceof GDD) TONGTIEN_GDD+=i.ThanhTien(); } System.out.format( "\n\tTB TT cua GD DAT: %.2f",TONGTIEN_GDD/TONG_TT); break; case 6: System.out.println("\n\tThong tin GD 9/2013:"); for(GDDAT i : arr) { if(i instanceof GDN) { String[] sdateN= i.getNgaygd().split("/"); if (sdateN[1].equals("9") && sdateN[2].equals("2013")) i.xuat(); } } for(GDDAT i : arr){ if(i instanceof GDD) { String[] sdateD= i.getNgaygd().split("/"); if (sdateD[1].equals("9") && sdateD[2].equals("2013")) i.xuat(); } } break; case 7: sc.close(); break; default: System.out.println("\nNhap SAI! Chon Lai!"); break; } }while(chon!=7); } } abstract class GDDAT { Scanner sc= new Scanner(System.in); private String Magd; private String Ngaygd; public String getNgaygd() { return Ngaygd; } public void setNgaygd(String ngaygd) { Ngaygd = ngaygd; } private double Dgia; private double Dtich; public GDDAT() { } public GDDAT(String Magd, String Ngaygd,double Dgia,double Dtich) { this.Magd=Magd; this.Ngaygd=Ngaygd; this.Dgia=Dgia; this.Dtich=Dtich; } public void nhap() { System.out.println("Nhap MAGD: "); Magd=sc.next(); System.out.println("Nhap NgayGD: "); Ngaygd=sc.next(); System.out.println("Nhap Don Gia: "); Dgia=sc.nextDouble(); System.out.println("Nhap Dien Tich: "); Dtich=sc.nextDouble(); } public double getDT() { return Dtich; } public double getDG() { return Dgia; } public void xuat() { System.out.format("\n\tMaGD: %s\n\tNgay GD: %s\n\tDon Gia: %.2f \n\tDien Tich: %.2f",this.Magd,this.Ngaygd,this.Dgia,this.Dtich ); } public abstract double ThanhTien(); } class GDD extends GDDAT { private String loaiDat; public GDD() { } public GDD(String Magd,String Ngaygd,double Dgia,double Dtich,String loaiDat) { super(Magd,Ngaygd,Dgia,Dtich); this.loaiDat=loaiDat; } public void nhap() { super.nhap(); System.out.println("Nhap loai dat (A-B-C): "); loaiDat=sc.next(); } public String getLoaiDat() { return this.loaiDat; } public double ThanhTien() { if(getLoaiDat().equalsIgnoreCase("B")||getLoaiDat().equalsIgnoreCase("C")) return getDT()*getDG(); else if(getLoaiDat().equalsIgnoreCase("A")) return getDT()*getDG()*1.5; else return 0; } public void xuat() { System.out.println("\n->NHA DAT:"); super.xuat(); System.out.format("\n\tLoai Dat: %s\n\tThanh Tien: %.2f VND",this.loaiDat,this.ThanhTien()); } } class GDN extends GDDAT { private String loaiNha, Diachi; private int lnha; public GDN() { } public GDN(String Magd, String Ngaygd,double Dgia,double Dtich,String loaiNha,String Diachi) { super(Magd,Ngaygd,Dgia,Dtich); this.loaiNha=loaiNha; this.Diachi=Diachi; } public void nhap() { super.nhap(); System.out.println("Nhap loai nha (1-VIP | 2-Pre):"); lnha=sc.nextInt(); } public String xetLN(int lnha) { switch(lnha) { case 1: this.loaiNha="VIP"; break; case 2: this.loaiNha="Pre"; break; default: System.out.println("Loi Loai Nha!"); break; } return this.loaiNha; } public double ThanhTien() { if(lnha==1) return getDT()*getDG(); else return getDT()*getDG()*0.9; } public void xuat() { System.out.println("\n->NHA THUE:"); super.xuat(); String.format("\n\tDia chi: %s\n\tLoai Nha: %s\n\tThanh Tien: %.2f VND", this.Diachi,this.xetLN(lnha),ThanhTien()); } } Quan ly nhan vien cong ty phan mem public class NhanVien { private String maNhanVien, hoTen, soDienThoai, mail; private int tuoi; protected int luong, luongCoBan; Scanner scanner = new Scanner(System.in); public NhanVien() { super(); } public NhanVien(String maNhanVien, String hoTen, String soDienThoai, String mail, int tuoi, int luong, int luongCoBan) { super(); this.maNhanVien = maNhanVien; this.hoTen = hoTen; this.soDienThoai = soDienThoai; this.mail = mail; this.tuoi = tuoi; this.luong = luong; this.luongCoBan = luongCoBan; } public String getMaNhanVien() { return maNhanVien; } public void setMaNhanVien(String maNhanVien) { this.maNhanVien = maNhanVien; } public String getHoTen() { return hoTen; } public void setHoTen(String hoTen) { this.hoTen = hoTen; } public String getSoDienThoai() { return soDienThoai; } public void setSoDienThoai(String soDienThoai) { this.soDienThoai = soDienThoai; } public String getMail() { return mail; } public void setMail(String mail) { this.mail = mail; } public int getTuoi() { return tuoi; } public void setTuoi(int tuoi) { this.tuoi = tuoi; } public int getLuong() { return luong; } public void setLuong(int luong) { this.luong = luong; } public int getLuongCoBan() { return luongCoBan; } public void setLuongCoBan(int luongCoBan) { this.luongCoBan = luongCoBan; } public void nhap() { System.out.print("Nhập mã nhân viên: "); maNhanVien = scanner.nextLine(); System.out.print("Nhập họ tên nhân viên: "); hoTen = scanner.nextLine(); System.out.print("Nhập số điện thoại: "); soDienThoai = scanner.nextLine(); System.out.print("Nhập mail: "); mail = scanner.nextLine(); System.out.print("Nhập tuổi: "); tuoi = scanner.nextInt(); System.out.print("Nhập lương bản: "); luongCoBan = scanner.nextInt(); } public int tinhLuong() { return 0; } @Override public String toString() { return "Mã nhân viên: " + this.maNhanVien + ", họ tên nhân viên: " + this.hoTen + ", số điện thoại: " + this.soDienThoai + ", mail: " + this.mail + ", tuổi: " + this.tuoi + ", lương bản: " + this.luongCoBan; public class LapTrinhVien extends NhanVien { private int soGioLamThem; public LapTrinhVien() { super(); } public LapTrinhVien(int soGioLamThem) { super(); this.soGioLamThem = soGioLamThem; } public int getSoGioLamThem() { return soGioLamThem; } public void setSoGioLamThem(int soGioLamThem) { this.soGioLamThem = soGioLamThem; } @Override public void nhap() { super.nhap(); System.out.print("Nhập số làm thêm: "); soGioLamThem = scanner.nextInt(); } @Override public int tinhLuong() { this.luong = this.luongCoBan + this.soGioLamThem * 200000; return this.luong; } @Override public String toString() { return super.toString() + "\n, số làm thêm: " + this.soGioLamThem + ", lương: " + this.luong; } } public class KiemChungVien extends NhanVien { private int soLoiPhatHien; public KiemChungVien() { super(); } public KiemChungVien(int soLoiPhatHien) { super(); this.soLoiPhatHien = soLoiPhatHien; } public int getSoLoiPhatHien() { return soLoiPhatHien; } public void setSoLoiPhatHien(int soLoiPhatHien) { this.soLoiPhatHien = soLoiPhatHien; } @Override public void nhap() { super.nhap(); System.out.print("Nhập số lỗi phát hiện: "); soLoiPhatHien = scanner.nextInt(); } @Override public int tinhLuong() { this.luong = this.luongCoBan + this.soLoiPhatHien * 50000; return this.luong; } @Override public String toString() { return super.toString() + "\n, số lỗi phát hiện: " + this.soLoiPhatHien + ", lương: " + this.luong; } } public static void main(String[] args) { int luongTrungBinh = 0, tongLuong = 0; Scanner scanner = new Scanner(System.in); System.out.print("Nhập số nhân viên công ty: "); int soNhanVien = scanner.nextInt(); NhanVien[] nhanVien = new NhanVien[soNhanVien]; System.out.println("Nhập thông tin cho nhân viên"); for (int i = 0; i < soNhanVien; i++) { System.out.println("Nhập thông tin nhân viên thứ " + (i + 1) + ":"); System.out.print("Chọn loại nhân viên (1 - lập trình viên, - kiểm chứng viên): "); int choose = scanner.nextInt(); if (choose == 1) { nhanVien[i] = new LapTrinhVien(); } else if (choose == 2) { nhanVien[i] = new KiemChungVien(); } nhanVien[i].nhap(); nhanVien[i].tinhLuong(); } System.out.println("Thông tin nhân viên công ty: "); for (int i = 0; i < soNhanVien; i++) { System.out.println(nhanVien[i].toString()); } System.out.println("Danh sách nhân viên có lương thấp mức lương trung bình " + "các nhân viên công ty."); for (int i = 0; i < soNhanVien; i++) { tongLuong += nhanVien[i].tinhLuong(); } luongTrungBinh = tongLuong / soNhanVien; for (int i = 0; i < soNhanVien; i++) { if (nhanVien[i].tinhLuong() 3); System.out.print("Số tiết dạy: "); soTietDay = scanner.nextInt(); } @Override public long tinhLuong() { return (long) (this.getHeSoLuong() * 730 + this.getPhuCap() + this.getSoTietDay() * 45); } @Override public String toString() { return super.toString() + ", khoa: " + this.khoa + ", trình độ: " + this.trinhDo + ", số tiết dạy: " + this.soTietDay; } } public class NhanVien extends CanBo { private String phongBan, chucVu; private int soNgayCong, choose; public NhanVien() { super(); } public NhanVien(String phongBan, String chucVu, int soNgayCong) { super(); this.phongBan = phongBan; this.chucVu = chucVu; this.soNgayCong = soNgayCong; } public String getPhongBan() { return phongBan; } public void setPhongBan(String phongBan) { this.phongBan = phongBan; } public String getChucVu() { return chucVu; } public void setChucVu(String chucVu) { this.chucVu = chucVu; } public int getSoNgayCong() { return soNgayCong; } public void setSoNgayCong(int soNgayCong) { this.soNgayCong = soNgayCong; } @Override public void nhap() { super.nhap(); System.out.print("Nhập phòng ban: "); phongBan = scanner.nextLine(); { System.out.print("Nhập chức vụ (1 - trưởng phòng, - phó phòng, - nhân viên): "); choose = scanner.nextInt(); switch (choose) { case 1: chucVu = "trưởng phòng"; this.setPhuCap(2000); break; case 2: chucVu = "phó phòng"; this.setPhuCap(1000); break; case 3: chucVu = "nhân viên"; this.setPhuCap(500); break; default: System.out.println("Chọn không đúng!"); break; } } while (choose < || choose > 3); System.out.print("Nhập số ngày công: "); soNgayCong = scanner.nextInt(); } @Override public long tinhLuong() { return (long) (this.getHeSoLuong() * 730 + this.getPhuCap() + this.getSoNgayCong() * 200); } @Override public String toString() { return super.toString() + ", phòng ban: " + this.phongBan + ", chức vụ: " + this.chucVu + ", số ngày công: " + this.soNgayCong; } } public static void main(String[] args) { ArrayList arrCanBo = new ArrayList(); int choose, soCanBo; long tongLuong = 0, luongThapNhat, luong; CanBo canBo = null; Scanner scanner = new Scanner(System.in); System.out.print("Nhập số lượng cán trường: "); soCanBo = scanner.nextInt(); for (int i = 0; i < soCanBo; i++) { System.out.println("Nhập thông tin cán thứ " + (i + 1) + ":"); { System.out.print("Chọn loại cán (1 - giảng viên, - nhân viên): "); choose = scanner.nextInt(); switch (choose) { case 1: canBo = new GiangVien(); canBo.nhap(); arrCanBo.add(canBo); break; case 2: canBo = new NhanVien(); canBo.nhap(); arrCanBo.add(canBo); break; default: System.out.println("Chọn không hợp lệ."); break; } } while (choose < || choose > 3); } System.out.println("Hiển thị danh sách cán cán trường: "); for (CanBo cb : arrCanBo) { System.out.println(cb.toString()); } for (CanBo cb : arrCanBo) { luong = cb.tinhLuong(); tongLuong += luong; } System.out.println("Tổng lương phải trả cho cán trường = " + tongLuong); } }