Bài này sẽ viết cho bạn 1 ứng dụng căn bản về việc sử dụng 1 tài khoản ngần hàng để thực hiện 1 số thao tác cơ bản:
- Nạp tiền
- Rút tiền
- Chuyển tiền
- ....
Code Class Account.java
package Code04;
import java.text.NumberFormat;
import javax.swing.JOptionPane;
public class Account {
private NumberFormat fmt = NumberFormat.getCurrencyInstance();
private final double RATE = 0.035;
private String TenTK;
private long SoTK;
private double SoDU;
public String getTenTK() {
return TenTK;
}
public void setTenTK(String tenTK) {
TenTK = tenTK;
}
public long getSoTK() {
return SoTK;
}
public void setSoTK(long soTK) {
SoTK = soTK;
}
public double getSoDU() {
return SoDU;
}
public void setSoDU(double soDU) {
SoDU = soDU;
}
public double Deposit(double amout)
{
if (amout < 0) {
System.out.println();
JOptionPane.showMessageDialog(null, "SỐ TIỀN BẠN NẠP PHẢI LỚN HƠN 0");
System.out.println("Số TK: " + SoTK + "\t Số dư là: " + fmt.format(SoDU));
}
else {
SoDU += amout;
}
return SoDU;
}
public double WithDrawing(double amout, double fee)
{
SoDU += fee;
if (amout < 0) {
System.out.println();
JOptionPane.showMessageDialog(null, "SỐ TIỀN BẠN RÚT PHẢI LỚN HƠN 0");
System.out.println("Số TK: " + SoTK + "\t Số dư là: " + fmt.format(SoDU));
}
else if (amout > SoDU) {
System.out.println();
JOptionPane.showMessageDialog(null, "SỐ TIỀN BẠN RÚT PHẢI NHỎ HƠN SỐ DƯ");
System.out.println("Số TK: " + SoTK + "\t Số dư là: " + fmt.format(SoDU));
}
else
SoDU -= amout;
return SoDU;
}
public void ChuyenTien(Account TKNhan, double SoTienChuyen)
{
if (SoTienChuyen > SoDU) {
System.out.println();
JOptionPane.showMessageDialog(null, "SỐ TIỀN BẠN CHUYỂN PHẢI NHỎ HƠN SỐ DƯ");
System.out.println("Số TK: " + SoTK + "\t Số dư là: " + fmt.format(SoDU));
}
else
{
//----------- Tru so tien
this.WithDrawing(SoTienChuyen, 2);
//----------- Cong so tien
TKNhan.Deposit(SoTienChuyen);
}
}
// Constructor có tham số
public Account(String tenTK, long soTK, double soDU) {
TenTK = tenTK;
SoTK = soTK;
SoDU = soDU;
}
// Constructor Rỗng
public Account() {
}
@Override
public String toString() {
String thongtin = "Họ tên: " + TenTK + "\t Số Tài khoản: " + SoTK + "\t Số dư: " + SoDU;
return thongtin;
}
}
Ở Class Banking.java thì bạn sẽ gọi lại những thao tác và gán cho tài khoản đó để có 1 thông tin.
Vd: Họ tên: LÝ TRẦN DEMO Số Tài khoản: 11353811 Số dư: 100.0
Code Class Banking.java
package Code04;
import javax.swing.JOptionPane;
public class Banking {
static double Nhap(String thongbao)
{
try {
double so;
String chuoiso;
chuoiso = JOptionPane.showInputDialog(thongbao);
so = Double.parseDouble(chuoiso);
return so;
} catch (Exception e) {
// TODO: handle exception
}
return -1;
}
public static void main(String[] args) {
Account obj1 = new Account();
obj1.setTenTK("NGUYỄN TRẦN NGỌC TRỌNG");
obj1.setSoTK(11353811);
obj1.setSoDU(100);
System.out.println(obj1);
// HÀM NẠP SỐ DƯ
//double n = Nhap("Ban hay nhap so du");
//-------------
Account obj2 = new Account("VĂN NGUYỄN TIẾN ĐẠT", 11353891, 500);
System.out.println(obj2);
//HÀM NẠP TIỀN
double tienap = Nhap("Bạn hãy nhập số tiền cần nạp: ");
if (tienap == -1) {
System.err.println("Lỗi");
return;
}
obj2.Deposit(tienap);
System.out.println(obj2);
//HÀM RÚT TIỀN
double tienrut = Nhap("Bạn hãy nhập số tiền cần rút: ");
if (tienrut == -1) {
System.err.println("Lỗi");
return;
}
obj2.WithDrawing(tienrut, 2);
System.out.println(obj2);
//HÀM CHUYỂN TIỀN
double tienchuyen = Nhap("Bạn hãy nhập số tiền cần chuyển: ");
if (tienchuyen == -1) {
System.err.println("Lỗi");
return;
}
obj2.ChuyenTien(obj1, tienchuyen);
System.out.println("------------ NGƯỜI GỬI TIỀN");
System.out.println(obj2);
System.out.println("------------ NGƯỜI NHẬN TIỀN");
System.out.println(obj1);
}
}
0 nhận xét:
Đăng nhận xét