Quản lý tài khoản ngân hàng java: đáo hạn, gửi, rút tiền

Trong bài viết này, chúng ta sẽ tìm hiểu về cách xây dựng một lớp TaiKhoan nhằm lưu trữ thông tin tài khoản và thực hiện các giao dịch như gửi tiền, rút tiền và đáo hạn thông qua bài toán quản lý tài khoản ngân hàng java.

Xem thêm

1. Mô tả bài toán

Bài 8: Ngân hàng ABC muốn lưu trữ thông tin của mỗi tài khoản như sau: Số tài khoản, tên tài khoản, Số tiền trong tài khoản.

a) Thiết kế lớp TaiKhoan để lưu trữ các thông tin, lớp bao gồm các phương thức sau:

  • Phương thức khởi tạo(Constructor) : có 2 phương thức khởi tạo (mặc định và đầy đủ tham số).
  • Các phương thức set, get cho từng thuộc tính.
  • Phương thức toString để trả về chuỗi chứa toàn bộ thông tin tài khoản, yêu cầu định dạng tiền tệ.

b) Thêm các thông tin sau vào lớp TaiKhoan

  • Hằng số lãi suất có giá trị khởi tạo là 0.05.
  • Phương thức khởi tạo có 2 đối số: số tài khoản, tên tài khoản.
  • Phương thức gửi tiền vào tài khoản: số tiền hiện tại trong tài khoản + số tiền nạp vào.
  • Phương thức rút tiền: số tiền hiện tại trong tài khoản – (số tiền muốn rút + phí rút tiền).
  • Phương thức đáo hạn: Mỗi lần đến kỳ rút đáo hạn thì số tiền trong tài khoản = số tiền trong tài khoản + số tiền trong tài khoản * LaiSuat.

Chú ý: Mỗi thao tác phải kiểm tra số tiền gửi, rút có hợp lệ hay không. Ví dụ nhập vào <0, tiền rút nhiều hơn tiền trong tài khoản thì thông báo không hợp lệ và yêu cầu nhập lại.

c) Xây dựng lớp TaiKhoanTest có chứa phương thức chính main để thực hiện test các chức năng trên.

2. Code quản lý tài khoản ngân hàng java

2.1 Class TaiKhoan

package bai8;

import java.util.Scanner;

public class TaiKhoan {
    String soTK;
    String tenTK;
    float soTien, laiSuat=(float) 0.05;
    
    public TaiKhoan(){
        soTK="";
        tenTK="";
        soTien=100;
    }
    
    public void TaiKhoan(String soTK, String tenTK, float soTien){
        this.soTK= soTK;
        this.tenTK=tenTK;
        this.soTien=soTien;
    }

    public float getLaiSuat() {
        return laiSuat;
    }

    public void setLaiSuat(float laiSuat) {
        this.laiSuat = laiSuat;
    }

    public String getSoTK() {
        return soTK;
    }

    public void setSoTK(String soTK) {
        this.soTK = soTK;
    }

    public String getTenTK() {
        return tenTK;
    }

    public void setTenTK(String tenTK) {
        this.tenTK = tenTK;
    }

    public float getSoTien() {
        return soTien;
    }

    public void setSoTien(float soTien) {
        this.soTien = soTien;
    }
    
    public void nhapTK(){
        Scanner sc = new Scanner(System.in);
        do {            
            System.out.println("Nhap so tai khoan: ");
            soTK=sc.nextLine();
            if(soTK.trim().length()==0){
                System.out.println("So tai khoan khong hop le!");
            }
        } while (soTK.trim().length()==0);
        System.out.println("Nhap ten tai khoan: ");
        tenTK= sc.nextLine();
    }
    
    public void xuatTK()
{
 System.out.print("\n========================\n");
 System.out.print("So tai khoan: "+getSoTK());
 System.out.print("\nTen tai khoan: "+getTenTK());
 System.out.print("\nSo tien trong tai khoan: "+getSoTien());
 System.out.print("\nLai suat: "+getLaiSuat());
 System.out.print("\n========================\n");
}
    
    public void guiTien(){
        float sotienGui;
        Scanner sc = new Scanner(System.in);
        do {            
            System.out.println("Nhap so tien can gui: ");
            sotienGui= sc.nextFloat();
            if(sotienGui<=0 ){
                System.out.println("So tien gui phai lon hon 0");
            }
        } while (sotienGui<=0);
        soTien= soTien+sotienGui;
        System.out.println("So tien trong tai khoan moi la: "+ getSoTien());
    }
    
    public void rutTien(){
        float sotienRut;
        float phiRut=0;
        Scanner sc = new Scanner(System.in);
        do {            
            System.out.println("Nhap so tien can rut: ");
            sotienRut= sc.nextFloat();
            if(sotienRut<=0 ){
                System.out.println("So tien rut phai lon hon 0");
            }
        } while (sotienRut<=0);
        if(sotienRut<soTien){
            soTien= soTien - (sotienRut+phiRut);
            System.out.println("Rut tien thanh cong, so du moi la: "+getSoTien());
        }else{
            System.out.println("So du khong du");
        }
    }
    
    public float daoHan(){
        return soTien= soTien+ (soTien*laiSuat);
    }

    @Override
    public String toString() {
        return "TaiKhoan{" + "soTK=" + soTK + ", tenTK=" + tenTK + ", soTien=" + soTien + ", laiSuat=" + laiSuat + '}';
    }
}

2.2 Class TaiKhoanTest

package bai8;

import java.util.Scanner;

public class TaiKhoanTest {

    static void menu(){
        System.out.println("1. Them tai khoan");
        System.out.println("2. Xuat tai khoan");
        System.out.println("3. Gui tien");
        System.out.println("4. Rut tien");
        System.out.println("5. Tinh Dao Han");
        System.out.println("0. Thoat");
    }
    public static void main(String[] args) {
        int chon;
        TaiKhoan tk= new TaiKhoan();
        Scanner sc = new Scanner(System.in);
        do { 
            menu();
            System.out.println("Lua chon: ");
            chon = sc.nextInt();
            switch(chon){
                case 1: tk.nhapTK(); break;
                case 2: tk.xuatTK(); break;
                case 3: tk.guiTien();break;
                case 4: tk.rutTien();break;
                case 5: tk.daoHan(); tk.xuatTK();break;
                case 0: System.exit(0);break;
                default:break;
            }
        } while (chon!=0);
    }
    
}

3. Kết quả chạy chương trình

Quản lý tài khoản ngân hàng

Source code FULL:

Hy vọng qua bài viết trên, chúng ta đã tìm hiểu cách xây dựng lớp TaiKhoan để quản lý thông tin tài khoản ngân hàng ABC và thực hiện các thao tác gửi tiền, rút tiền, và đáo hạn. Cảm ơn các bạn đã tham khảo bài tập lập trình hướng đối tượng java trên ttnguyen.net.

Bài viết liên quan:

Nguyễn Tiến Trường

Mình viết về những điều nhỏ nhặt trong cuộc sống, Viết về câu chuyện những ngày không có em