用Java基础模拟银行ATM系统

  1. 首先书写对象类
 public class Card {
    //持卡人姓名
    private String name;
    //银行卡号
    private String cardid;
    //银行名称
    private String bankname;
    //卡内余额
    private int amount;
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getCardid() {
        return cardid;
    }

    public void setCardid(String cardid) {
        this.cardid = cardid;
    }

    public String getBankname() {
        return bankname;
    }

    public void setBankname(String bankname) {
        this.bankname = bankname;
    }

    public int getAmount() {
        return amount;
    }

    public void setAmount(int amount) {
        this.amount = amount;
    }

    @Override
    public String toString() {
        return "Card{" +
                "name='" + name + '\'' +
                ", cardid='" + cardid + '\'' +
                ", bankname='" + bankname + '\'' +
                ", amount=" + amount +
                '}';
    }

    public Card(String name, String cardid, String bankname, int amount) {
        this.name = name;
        this.cardid = cardid;
        this.bankname = bankname;
        this.amount = amount;
    }
}
  1. 模拟登陆系统并且控制系统的循环
 public class Execution {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        List<Card> list=new ArrayList<>();
        Card card = new Card("张三","10086","工商银行",10000);
        Card card2 = new Card("李四","10087","民生银行",10000);
        Card card3 = new Card("王五","10088","农业银行",10000);
        list.add(card);
        list.add(card2);
        list.add(card3);
        System.out.println("=========欢迎使用ATM===========");
        System.out.println("请输入银行卡号:");
        String cardid=scanner.next();
        boolean pan=false;
        Card cardt=null;
        for (Card cardd:list) {
            if (cardd.getCardid().equals(cardid)){
                pan=true;
                cardt=cardd;
            }
        }
        if (pan){
            new Ff().execution(cardt,list);
        }else {
            System.out.println("未找到该卡的信息");
        }
    }
}
  1. 模拟ATM的各种功能
 public class Features {
    Scanner scanner=new Scanner(System.in);
    List<String> zhuanzhang=new ArrayList<>();
    public void execution(Card card,List<Card> list){
        System.out.println("-------------------");
        System.out.println("请输入你要操作的类型:"+"\n"+"1.余额查询"+"\n"+"2.取款"+"\n"+"3.存款"+"\n"+"4.转账"+"\n"+"5.退卡"+"\n"+"6.查询转账信息");
        System.out.println("-------------------");
        int choose = scanner.nextInt();
        switch (choose){
            case 1:
                System.out.println("你的余额为:"+card.getAmount());
                execution(card,list);
                break;
            case 2:
                System.out.println("请输入你要取得金额");
                int qamout = scanner.nextInt();
                int camout=card.getAmount();
                if (qamout>camout){
                    System.out.println("你的余额不足,取款失败!");
                    execution(card,list);
                }else {
                    card.setAmount(camout-qamout);
                    System.out.println("取款成功!现在你的余额时"+card.getAmount());
                    execution(card,list);
                }
                break;
            case 3:
                System.out.println("请输入你要存入的金额");
                int ccamout = scanner.nextInt();
                card.setAmount(ccamout+card.getAmount());
                System.out.println("存款成功!现在你的余额时"+card.getAmount());
                execution(card,list);
                break;
            case 4:
                System.out.println("请输入你要转账人的帐号");
                String cardid=scanner.next();
                boolean pan=false;
                Card cardt=null;
                for (Card cardd:list) {
                    if (cardd.getCardid().equals(cardid)){
                        pan=true;
                        cardt=cardd;
                    }
                }
                if (pan){
                    System.out.println("请输入你要转入的金额");
                    int amouts = scanner.nextInt();
                    int camoutj=card.getAmount();
                    if (amouts>camoutj){
                        System.out.println("你的余额不足,转账失败!");
                        execution(card,list);
                    }else {
                        card.setAmount(card.getAmount()-amouts);
                        cardt.setAmount(cardt.getAmount()+amouts);
                        String zhuan=card.getName()+"给"+cardt.getName()+"转账"+amouts+"元";
                        zhuanzhang.add(zhuan);
                        System.out.println("转账成功!现在你的余额时"+card.getAmount());
                        execution(card,list);
                    }
                }else {
                    System.out.println("未找到该卡的信息");
                    execution(card,list);
                }
                break;

            case 5:
                System.out.println("退卡成功!");
                break;
            case 6:
                    for (String zhuan:zhuanzhang){
                        System.out.println(zhuan);
                      }
                    execution(card,list);
                break;

            default:
                System.out.println("请输入以上选择的数字!");
                execution(card,list);
                break;
        }
    }


}
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值