Skip to content

Instantly share code, notes, and snippets.

@moomdate
Last active February 10, 2025 03:10
Show Gist options
  • Save moomdate/a26e05b973f3900586476d2b54a3bea4 to your computer and use it in GitHub Desktop.
Save moomdate/a26e05b973f3900586476d2b54a3bea4 to your computer and use it in GitHub Desktop.
refactor
/**
ออกแบบและพัฒนา คลาส หรือ เซอร์วิส ที่สามารถทำธุรกรรมทางการเงินได้ ซึ่งต้องรองรับ:
- ฝากเงิน (Deposit)
- ถอนเงิน (Withdraw)
- ตรวจสอบยอดคงเหลือ (Check Balance)
** พิจารณาปัญหาของโค้ด ทำการ refactor และอธิบายในแต่ละส่วน
*/
public class BankAccount {
private double balance;
public BankAccount(double initialBalance) {
this.balance = initialBalance;
}
public void deposit(double amount) {
balance += amount;
}
public boolean withdraw(double amount) {
if (amount > balance) {
return false;
}
balance -= amount;
return true;
}
public double getBalance() {
return balance;
}
}
public class Main {
public static void main(String[] args) {
BankAccount account = new BankAccount(new BigDecimal("1000.00"));
account.deposit(new BigDecimal("500.00"));
System.out.println("ยอดเงินคงเหลือ: " + account.getBalance()); // 1500.00
boolean success = account.withdraw(new BigDecimal("1200.00"));
System.out.println("ถอนเงินสำเร็จหรือไม่: " + success); // true
System.out.println("ยอดเงินคงเหลือ: " + account.getBalance()); // 300.00
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment