码迷,mamicode.com
首页 > 其他好文 > 详细

银行取款、查询余额、交电话费功能

时间:2017-06-01 14:38:56      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:sed   import   错误   show   str   class   电话费   ==   print   

主函数测试方法:

public class TestATM {
    public static void main(String[] args) {
        ABCATM a = new ABCATM();
        //ICBCImpl icbc = new ICBCImpl(3000, "123456");//工商卡号
        ABCImpl abc = new ABCImpl(3000, "123456");//农行卡号
        //a.insertCard(icbc);
        a.insertCard(abc);
        a.allMenu();
    }
}

ABCATM类

import java.util.Scanner;


public class ABCATM {
    private UnionPay card;
    public void insertCard(UnionPay userCard){
        if(card == null){
            card = userCard;
        }
    }
    private void outCard(){
        card = null;
    }
    private void showBalance(){
        System.out.println("当前余额为:"+card.getBalance());
    }
    private void takeMoney(){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入取款数目:");
        double num = Double.parseDouble(sc.next());
        if(card.drawMoney(num)){
            System.out.println("取款成功");
        }else{
            System.out.println("取款失败");
        }
    }
    private void payTelBill(){
        Scanner sc = new Scanner(System.in);
        if(card instanceof ABC){
            ABC abcCard = (ABC)card;
            System.out.println("请输入电话号码:");
            String telNum = sc.next();
            System.out.println("请输入缴费金额:");
            double num = Double.parseDouble(sc.next());
            if(abcCard.payTelBill(telNum, num)){
                System.out.println("缴费成功");
            }else{
                System.out.println("缴费失败");
            }
        }else{
            System.out.println("您的卡有误");
        }
    }
    public void allMenu(){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入密码:");
        String pwd = sc.next();
        if(card.checkPwd(pwd)){
            System.out.println("请选择功能:\n 1.查看余额 2.取款 3.交电话费");
            int choice = Integer.parseInt(sc.next());
            switch(choice){
            case 1:
                showBalance();
                break;
            case 2:
                takeMoney();
                break;
            case 3:
                payTelBill();
                break;
            default:
                System.out.println("非法输入");
            }
        }else{
            System.out.println("密码错误");
        }
        this.outCard();
    }

}

功能效果
技术分享

 

银行取款、查询余额、交电话费功能

标签:sed   import   错误   show   str   class   电话费   ==   print   

原文地址:http://www.cnblogs.com/ls00/p/6928460.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!