Tải bản đầy đủ (.doc) (31 trang)

Bài Tập LT HDT Java Full Lời Giải

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (170.8 KB, 31 trang )

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 <ChuyenXe1> arr= new ArrayList<ChuyenXe1>();
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<Sach> arr= new ArrayList<Sach>();
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 khi 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 ngay 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<GiaoDich> arr = new ArrayList<GiaoDich>();
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 ra...");
Vang vg = new Vang();
vg.nhap();
arr.add(vg);
break;
case 2:
System.out.println("...GD Tien Mat dang dien ra...");
Tien tn = new Tien();
tn.nhap();
arr.add(tn);
break;
case 3:
System.out.println("\nThong Tin sau khi 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 > 1 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
{


private double Tigia;
private String Loaitien;
private int num;
public Tien()
{
}
public Tien(String MaGD,String NgayGD,double Dongia,int Soluong,String
Loaitien,double Tigia)
{
super();
this.Loaitien=Loaitien;
this.Tigia=Tigia;
}
public void nhap()
{
super.nhap();
System.out.println("\nNhap loai tien [1-VND 2-USD 3-EURO]: ");
num=sc.nextInt();

if(num!=1)
{
System.out.println("\nNhap ti gia:");
Tigia=sc.nextDouble();
}
}
public String Ltt(int num)
{
switch(num)
{
case 1:
this.Loaitien="VND";
break;
case 2:
this.Loaitien="USD";
break;
case 3:
this.Loaitien="EURO";
break;
default:
System.out.print("ERROR: Loi Menh Gia!");
break;
}
return this.Loaitien;
}
public double Thanhtien()
{
if(num==1)
return getDG()*getSL();
else

return getDG()*getSL()*Tigia;
}
public String toString(){


return "*Giao Dich Tien Te: "+super.toString()
+String.format("\n\tLoai Tien Te: %s \n\tThanh Tien: %.2f %s",
Ltt(num),this.Thanhtien(),Ltt(num));
}
}

GIAO DICH NHA DAT
public class GiaoDich {
private String maGiaoDich, ngayGiaoDich;
private long donGia;
private float dienTich;
Scanner scanner = new Scanner(System.in);
public GiaoDich() {
super();
}
public GiaoDich(String maGiaoDich, String ngayGiaoDich, long donGia, float dienTich) {
super();
this.maGiaoDich = maGiaoDich;
this.ngayGiaoDich = ngayGiaoDich;
this.donGia = donGia;
this.dienTich = dienTich;
}
public String getMaGiaoDich() {
return maGiaoDich;
}

public void setMaGiaoDich(String maGiaoDich) {
this.maGiaoDich = maGiaoDich;
}
public String getNgayGiaoDich() {
return ngayGiaoDich;
}
public void setNgayGiaoDich(String ngayGiaoDich) {
this.ngayGiaoDich = ngayGiaoDich;
}
public long getDonGia() {
return donGia;
}
public void setDonGia(long donGia) {
this.donGia = donGia;
}


public float getDienTich() {
return dienTich;
}
public void setDienTich(float dienTich) {
this.dienTich = dienTich;
}
public void nhap() {
System.out.print("Nhập mã giao dịch: ");
maGiaoDich = scanner.nextLine();
System.out.print("Nhập ngày giao dịch (ngày/tháng/năm): ");
ngayGiaoDich = scanner.nextLine();
System.out.print("Nhập đơn giá: ");
donGia = Long.parseLong(scanner.nextLine());

System.out.print("Nhập diện tích: ");
dienTich = Float.parseFloat(scanner.nextLine());
}
@Override
public String toString() {
return "Mã giao dịch: " + this.maGiaoDich + ", ngày giao dịch: " + this.ngayGiaoDich +
", đơn giá: " + this.donGia + ", diện tích: " + this.dienTich;
}
}
public class GiaoDichDat extends GiaoDich {
private String loaiDat;
public GiaoDichDat() {
super();
}
public GiaoDichDat(String loaiDat) {
super();
this.loaiDat = loaiDat;
}
public String getLoaiDat() {
return loaiDat;
}
public void setLoaiDat(String loaiDat) {
this.loaiDat = loaiDat;
}
public void nhap() {
super.nhap();
System.out.print("Nhập loại đất (A/B/C): ");
loaiDat = scanner.nextLine();
}



@Override
public String toString() {
return super.toString() + ", loại đất: " + this.loaiDat;
}
}
public class GiaoDichNha extends GiaoDich {
private String loaiNha, diaChi;
private int choose;
public GiaoDichNha() {
super();
}
public GiaoDichNha(String loaiNha, String diaChi) {
super();
this.loaiNha = loaiNha;
this.diaChi = diaChi;
}
public String getLoaiNha() {
return loaiNha;
}
public void setLoaiNha(String loaiNha) {
this.loaiNha = loaiNha;
}
public String getDiaChi() {
return diaChi;
}
public void setDiaChi(String diaChi) {
this.diaChi = diaChi;
}
public void nhap() {

super.nhap();
System.out.print("Nhập địa chỉ: ");
diaChi = scanner.nextLine();
System.out.print("Nhập loại nhà (0: cao cấp, 1: thường): ");
choose = scanner.nextInt();
switch (choose) {
case 0:
loaiNha = "cao cấp";
break;
case 1:
loaiNha = "thường";
break;
default:


System.out.println("Chọn số không hợp lệ.");
break;
}
}
@Override
public String toString() {
return super.toString() + ", loại nhà: " + this.loaiNha + ", địa chỉ: " + this.diaChi;
}
}
public static void main(String[] args) {
ArrayList<GiaoDichNha> arrGiaoDichNha = new ArrayList<>();
ArrayList<GiaoDichDat> arrGiaoDichDat = new ArrayList<>();
int soGiaoDichDat = 0, soGiaoDichNha = 0;
long tongTienGiaoDichDat = 0, trungBinhThanhTien = 0;
Scanner scanner = new Scanner(System.in);

System.out.print("Nhập số giao dịch đất: ");
soGiaoDichDat = scanner.nextInt();
System.out.print("Nhập số giao dịch nhà: ");
soGiaoDichNha = scanner.nextInt();
System.out.println("Nhập thông tin giao dịch đất:");
for (int i = 0; i < soGiaoDichDat; i++) {
System.out.println("Nhập thông tin giao dịch đất thứ " + (i + 1) + ":");
GiaoDichDat giaoDichDat = new GiaoDichDat();
giaoDichDat.nhap();
arrGiaoDichDat.add(giaoDichDat);
}
System.out.println("Nhập thông tin giao dịch nhà:");
for (int i = 0; i < soGiaoDichNha; i++) {
System.out.println("Nhập thông tin giao dịch nhà thứ " + (i + 1) + ":");
GiaoDichNha giaoDichNha = new GiaoDichNha();
giaoDichNha.nhap();
arrGiaoDichNha.add(giaoDichNha);
}
System.out.println("---Thông tin các giao dịch đất---");
for (int i = 0; i < arrGiaoDichNha.size(); i++) {
System.out.println(arrGiaoDichDat.get(i).toString());
}
System.out.println("---Thông tin các giao dịch nhà---");
for (int i = 0; i < arrGiaoDichNha.size(); i++) {
System.out.println(arrGiaoDichNha.get(i).toString());
}
for (int i = 0; i < arrGiaoDichDat.size(); i++) {
if (arrGiaoDichDat.get(i).getLoaiDat().equalsIgnoreCase("A")) {



tongTienGiaoDichDat += arrGiaoDichDat.get(i).getDienTich() *
arrGiaoDichDat.get(i).getDonGia() * 1.5;
} else if (arrGiaoDichDat.get(i).getLoaiDat().equalsIgnoreCase("B") ||
arrGiaoDichDat.get(i).getLoaiDat().equalsIgnoreCase("C")) {
tongTienGiaoDichDat += arrGiaoDichDat.get(i).getDienTich() *
arrGiaoDichDat.get(i).getDonGia();
}
}
trungBinhThanhTien = tongTienGiaoDichDat / (arrGiaoDichDat.size());
System.out.println("Trung bình thành tiền của giao dịch đất = " + trungBinhThanhTien);
// xuất ra các giao dịch của tháng 9 năm 2013
System.out.println("Các giao dịch đất của tháng 9 năm 2013: ");
for (int i = 0; i < arrGiaoDichDat.size(); i++) {
String[] dateGiaoDichDat = arrGiaoDichDat.get(i).getNgayGiaoDich().split("/");
if (dateGiaoDichDat[1].equals("9") && dateGiaoDichDat[2].equals("2013")) {
System.out.println(arrGiaoDichDat.get(i).toString());
}
}
System.out.println("Các giao dịch nhà của tháng 9 năm 2013: ");
for (int i = 0; i < arrGiaoDichNha.size(); i++) {
String[] dateGiaoDichNha = arrGiaoDichNha.get(i).getNgayGiaoDich().split("/");
if (dateGiaoDichNha[1].equals("9") && dateGiaoDichNha[2].equals("2013")) {
System.out.println(arrGiaoDichNha.get(i).toString());
}
}
}
}
Quan ly Nha Dat- Nha Thue 2
import java.util.ArrayList;
import java.util.Scanner;

public class QL_DAT {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc= new Scanner(System.in);
ArrayList<GDDAT> arr= new ArrayList<GDDAT>();
int chon;
do{
System.out.println("\n|1. NHA DAT \n|2.NHA O \n|3.XUAT THONG TIN \n|
4.TONG SL TUNG LOAI \n|5.TB TTien GD DAT: \n|6.GD 9/2013 \n|7.Thoat! \nChon: ");
chon=sc.nextInt();
switch(chon)
{
case 1:


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 cơ 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 cơ 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ố giờ 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ố giờ 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 trong 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, 2 - 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 của các nhân viên trong 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 hơn mức lương trung bình của "
+ "các nhân viên trong 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() <= luongTrungBinh) {
System.out.println(nhanVien[i].toString());
}
}
}


×