Account
package ATM;
public class Account {
private String accountNum;
private String pwd;
private double balance;
public Account(String accountNum) {
this.accountNum = accountNum;
}
public Account(String accountNum, String pwd, double balance) {
this.accountNum = accountNum;
this.pwd = pwd;
this.balance = balance;
}
public Account(String accountNum, String pwd) {
}
public String getAccountNum() {
return accountNum;
}
public void setAccountNum(String accountNum) {
this.accountNum = accountNum;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public double getBalance() {
return balance;
}
public void setBalance(double balance) {
this.balance = balance;
}
}
Atm
package ATM;
import java.util.Scanner;
public class Atm {
private Account account;
private double balance;
private int flag;
public void inputPwd(){
System.out.println("-->输入卡密码");
String pwd = new Scanner(System.in).next();
if (pwd.equals(this.account.getPwd())){
System.out.println("-->密码正确");
flag = 1;
}else {
System.out.println("-->密码错误");
flag = 0;
}
}
//取款
public void withdrawMoney() throws BalanceNotEnoughException {
if (flag == 0){
System.out.println("-->退出");
return;
}
System.out.println("-->取款金额");
int money = new Scanner(System.in).nextInt();
if (money<=this.account.getBalance()){
System.out.println("-->正在出币");
if (money<=this.balance){
System.out.println("-->取走你的钱");
this.account.setBalance(this.account.getBalance()-money);
this.setBalance(this.getBalance()-money);
System.out.println("-->取款"+money);
System.out.println("-->您的银行卡账号余额:"+this.account.getBalance());
System.out.println("-->ATM剩余纸币:"+this.getBalance());
}else {
System.out.println("-->Atm纸币不够");
}
}else {
//System.out.println("警告:余额不足");
BalanceNotEnoughException e = new BalanceNotEnoughException();
throw e;
}
}
public Atm(double balance) {
this.balance = balance;
}
public Account getAccount() {
return account;
}
public void setAccount(Account account) {
this.account = account;
}
public double getBalance() {
return balance;
}
public void setBalance(double balance) {
this.balance = balance;
}
}
BalanceNotEnoughException
package ATM;
public class BalanceNotEnoughException extends Exception{
public BalanceNotEnoughException() {
super("余额不足!取款失败");
}
}
Test
package ATM;
public class Test {
public static void main(String[] args) throws BalanceNotEnoughException {
Atm atm = new Atm(50000);
Account account = new Account("10101100","123456",200);
atm.setAccount(account);
atm.inputPwd();
atm.withdrawMoney();
atm.setAccount(null);
System.out.println("-->程序结束");
}
}
运行结果:
1.正常运行
2.密码错误
3.ATM机金额不足



