我有一个银行帐户类,其中包含您所有常用的属性和方法,例如存款,取款等。余额属性应按预期的方式工作“为特定货币的金额持有价值”,但我想包括可以选择透支500英镑。用户不能提取超过此金额的款项。当我编写了if语句时,将不使用任何参数,因此我无法固定透支500英镑。我知道这一点,因为我使用了withdraw方法来提取超出应允许的数量。
这是我的代码;
package javaCode.AdvancedBankAccount;
public class StudentAccount {
private String accountNumber;
private String accountHolder;
private double balance;
private boolean hasOverdraft;
private final int OVERDRAFTLIMIT = -500;
public StudentAccount (String accountNumber, String accountHolder, boolean hasOverdraft) {
this.accountNumber = accountNumber;
this.accountHolder = accountHolder;
this.balance = 0.0;
this.hasOverdraft = hasOverdraft;
}
public String getAccountNumber () {
return accountNumber;
}
public void setAccountNumber (String accountNumber) {
this.accountNumber = accountNumber;
}
public String getAccountHolder () {
return accountHolder;
}
public void setAccountHolder (String accountHolder) {
this.accountHolder = accountHolder;
}
public double getBalance () {
return balance;
}
public void setBalance (double balance) {
this.balance = balance;
}
public boolean isHasOverdraft () {
return hasOverdraft;
}
public void setHasOverdraft (boolean hasOverdraft) {
this.hasOverdraft = hasOverdraft;
}
public boolean deposit (double amount) {
if (amount>0){
this.balance+=amount;
return true;
}
else {
return false;
}
}
public boolean withdraw (double amount, double balance, double overdraftLimit) {
overdraftLimit = OVERDRAFTLIMIT;
if (amount > 0 && balance + overdraftLimit - amount > overdraftLimit) {
this.balance -= amount;
return true;
} else {
return false;
}
}
@Override
public String toString() {
return "Account Number: " + accountNumber +
" | Account Holder: " + accountHolder +
" | Balance: " + balance +
" | Account has overdraft?: " + hasOverdraft;
}
public static void main(String[] args) {
CurrentAccount jake = new CurrentAccount("10801", "Jake Mellor", true);
jake.withdraw(300);
System.out.println(jake);
jake.deposit(-300);
System.out.println(jake);
jake.withdraw(1000);
System.out.println(jake);
}
}
这些是结果;
Account Number: 10801 | Account Holder: Jake Mellor | Balance: -300.0 | Account has overdraft?: true
Account Number: 10801 | Account Holder: Jake Mellor | Balance: -300.0 | Account has overdraft?: true
Account Number: 10801 | Account Holder: Jake Mellor | Balance: -1300.0 | Account has overdraft?: true
以退出代码0结束的过程