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());
}
}
}