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