Bài toán: Xây dựng lớp ngân hàng. Ngân hàng này chỉ chấp nhận tiền lẻ là tờ 500 đồng
Thuộc tính của lớp ngân hàng:
- Số tờ 500 đồng có trong ngân hàng
Phương thức của lớp ngân hàng:
- Phương thức khởi tạo giá trị cho thuộc tính.
- Phương thức trả về số tờ 500 đồng có trong ngân hàng.
- Phương thức thay đổi số tờ 500 đồng trong ngân hàng với giá trị mới là tham số của phương thức.
- Phương thức trả về true nếu có đủ tiền trong ngân hàng để mua một mặt hàng. Giá tiền của mặt hàng là tham đối truyền vào phương thức và tính bằng ngàn đồng. Phương thức sẽ trả về false nếu không đủ tiền trả cho mặt hàng. VD, nếu giá là 50 ngàn đồng, tham đối sẽ là 50.
- Phương thức xóa tất cả tiền trong ngân hàng và trả về số tiền trong ngân hàng tính bằng ngàn đồng. VD, nếu ngân hàng chứa 7 tờ 500 đồng, phước thức trả về 3.5
- Phương thức xóa đủ số tiền để trả cho mặt hàng có giá trị bằng ngàn đồng. VD, nếu mặt hàng có giá 12.5 ngàn đồng, phương thức sẽ xóa 25 tờ 500 đồng trong ngân hàng. Nếu không đủ tiền để trả cho mặt hàng, rồi thì không xóa bất kỳ số tiền nào từ ngana hàng và hiển thị 1 thông báo lỗi.
- Cho trước một đối tượng ngân hàng khác và 1 số tờ 500 đồng nào đó, phương thức này chuyển từ 500 đồng này từ ngân hàng khác đến ngân hàng này. Nếu không đủ số tờ 500 đồng trong ngân hàng khác để chuyển, phương thức sẽ chuyển tất cả số tờ trong ngân hàng khác đến ngân hàng này
class NganHang
{
private int soTo;
public NganHang(){}
public NganHang(int soTo){this.soTo=soTo;}
public int get()
{
return this.soTo;
}
public void set(int soTo)
{
this.soTo=soTo;
}
public boolean mua(int giaTien)
{
if(((this.soTo*500)/1000)>=giaTien)
return true;
else return false;
}
public float nganDong()
{
return soTo*500/1000;
}
public void xoaall()
{
this.soTo=0;
}
public void xoa(int mH)
{
int st= mH*2;
if(this.soTo>=st) this.soTo-=st;
else System.out.println("Loi!");
}
public void chuyenTien(NganHang b, int soTo)
{
if(b.get()< soTo)
{
this.set(b.get() + this.get());
b.set(0);
}
else
{
this.set(this.soTo + soTo);
b.set(b.get()-soTo);
}
}
public static void main(String[] args)
{
NganHang nh=new NganHang(20);
System.out.println("So To co trong ngan hang: " + nh.get());//Tra ve so to co trong ngan hang
nh.set(30);//Thay doi so to voi gia tri moi
System.out.println("So To co trong ngan hang sau khi thay doi: " + nh.get());
if(nh.mua(16)) System.out.println("So To co du trong ngan hang ");
else System.out.println("So To thieu trong ngan hang ");
System.out.println("Ngan hang chua: " + nh.soTo + " to 500 dong, so tien ngan hang co: " + nh.nganDong());//CHuyen thanh tien
nh.xoaall();//Xoa so to
nh.set(30);//Thay doi so to voi gia tri moi
nh.xoa(13);
System.out.println("So to ngan hang con lai: " + nh.soTo);// Sau khi thuc hien xoa so to(so tien), ngan hang con lai
NganHang nh2=new NganHang(20);
nh.chuyenTien(nh2,25);
System.out.println("So to ngan hang khac la: " + nh2.soTo + " con ngan hang nay la: " + nh.soTo);
}
}