Account
package ATM;
public class Account {
private int accountNumber;//银行账号
private int pin;//个人识别码 也就是银行密码
private double availableBalance;//可用余额
private double totalBalance;//用户总余额
public Account(int theAccountNumber, int thePin, double theAvailableBalance, double theTotalBalance) {
accountNumber = theAccountNumber;
pin = thePin;
availableBalance = theAvailableBalance;
totalBalance = theTotalBalance;
}
public boolean validatePIN(int userPIN){
if(userPIN==pin){
return true;
}else {
return false;
}
}
public double getAvailableBalance() {
return availableBalance;
}
public int getAccountNumber() {
return accountNumber;
}
public double getTotalBalance() {
return totalBalance;
}
public void credit(double amount){
totalBalance+=amount;
}
public void debit(double amount){//你持有的钱
availableBalance-=amount;
totalBalance-=amount;
}
}
Screen
package ATM;
public class Screen {
//不带换行的打印信息
public void displayMessage(String message){
System.out.print(message);
}
//带换行的打印信息
public void displayMessageLine(String message){
System.out.println(message);
}
//打印美元金额
public void displayDollarAmount(double amount){
System.out.printf("$%,.2f",amount);
}
//打印RMB金额
public void displayRMBAmount(double amount){
System.out.printf("$%,.2f",amount);
}
}
BankDatabase
package ATM;
public class BankDatabase {
private Account[] accounts;
public Account getAccounts(int accountNumber) {
for (Account currentAccount:accounts){
if(currentAccount.getAccountNumber()==accountNumber){
return currentAccount;
}
}
return null;
}
public boolean authenticateUser(int userAccountNumber,int userPIN){
Account userAccount=getAccounts(userAccountNumber);
if(userAccount!=null){
return userAccount.validatePIN(userPIN);
}else {
return false;
}
}
public BankDatabase() {
accounts=new Account[2];
accounts[0]=new Account(12345,54321,1000.0,1200.0);
accounts[1]=new Account(98765,56789,200.0,200.0);
}
public double getAvailableBalance(int userAccountNumber){
return getAccounts(userAccountNumber).getTotalBalance();
}
public double getTotalBalance(int userAccountNumber){
return getAccounts(userAccountNumber).getTotalBalance();
}
public void credit(int userAccountNumber,double amount){