栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

ATM(取款)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ATM(取款)

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机金额不足

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1024804.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号