1. 程式人生 > >銀行取款、查詢余額、交電話費功能

銀行取款、查詢余額、交電話費功能

menu ase ges log cbc imp void 卡號 話費

主函數測試方法:

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();
}

}

功能效果
技術分享

銀行取款、查詢余額、交電話費功能