1. 程式人生 > >Java模擬儲蓄卡和信用卡

Java模擬儲蓄卡和信用卡

題目:
這裡寫圖片描述
這裡寫圖片描述

儲蓄卡SavingCard類:

/**
 * 儲蓄卡類
 * @author xgpxg
 *
 */
public class SavingCard {
    private double amount=1000;//初始化餘額
    /**
     * 存錢
     * @param money 存入金額
     */
    public void saveMoney(double money){
        amount+=money;
        System.out.println("存款成功!");
    }
    /**
     * 取錢
     * @param
money 取出金額 */
public void takeMoney(double money){ if(money>amount){ System.out.println("取款失敗,餘額不足!"); } else{ amount-=money; System.out.println("取款成功!"); } } /** * 餘額查詢 */ public void getBalance(){ System.out.println("您的可用餘額為 "
+amount+" 元!"); } }

信用卡CreditCard類:

/**
 * 信用卡類
 * @author xgpxg
 *
 */
public class CreditCard {
    private double amount=1000;//初始金額
    private double credit=-10000;//初始信譽額度

    /**
     * 信用卡取錢
     */
    public void takeMoney(double money){
        if(amount-money>0){
            amount-=money;
        }
        else
{//消耗信譽額度 if(amount-money<=credit)//額度用完 System.out.println("信譽額度不夠,請及時還款!"); else{ if(amount>0)//如果還有餘額 money=money-amount;//需要透支的錢 if(money>0&&money<=2000) amount=amount-money-10; if(money>2000&&money<=5000) amount=amount-money-30; if(money>5000) amount=(double) (amount-money*0.01); System.out.println("取款成功"); } } } public void saveMoney(double money){ if(amount>=0){//沒有透支,直接存款 amount+=money; System.out.println("存款成功!"); } else{//有透支,還款 amount+=money; if(amount>=0){//還清欠款 credit-=100;//額度增加10 if(amount>1000){//還清欠款且餘額大於1000 credit-=100;//上限再增加100 } } System.out.println("還款成功!您的可用信用額度為 "+credit*-1+" 元"); } } /** * 餘額查詢 */ public void getBalance(){ if(amount>=0) System.out.println("您的可用餘額為 "+amount+" 元!"); else System.out.println("您的可用餘額為 0 元"); } /** * 信用額度餘額 * @return */ public void getCreditBlance(){ System.out.println("您的總信用額度為 "+credit*-1+"元,\n"+"已經透支 "+amount*-1+" 元,\n"+"還可以透支 "+(credit-amount)*-1+" 元!"); } }

主類MainClass:

public class MianClass {

    public static void main(String[] args) {

        /*測試資料
        SavingCard sc=new SavingCard();
        sc.getBalance();//餘額
        sc.saveMoney(100);//存100
        sc.getBalance();
        sc.takeMoney(100);//取100
        sc.getBalance();
        sc.takeMoney(2000);//取2000
        sc.getBalance();
        sc.takeMoney(1000);//取1000
        sc.getBalance();
        */
        /*
        CreditCard cc=new CreditCard();
        cc.getBalance();//餘額
        cc.saveMoney(100);//存100
        cc.getBalance();
        cc.takeMoney(5000);//取5000
        cc.getBalance();
        cc.getCreditBlance();//查信用額度
        cc.takeMoney(80000);//取80000
        cc.getBalance();
        cc.saveMoney(100000);//存10萬
        cc.getBalance();
        cc.saveMoney(100);//存100
        cc.getBalance();
        */
    }

}

輸出:

您的可用餘額為 1000.0!
存款成功!
您的可用餘額為 1100.0!
取款成功!
您的可用餘額為 1000.0!
取款失敗,餘額不足!
您的可用餘額為 1000.0!
取款成功!
您的可用餘額為 0.0!
您的可用餘額為 1000.0!
存款成功!
您的可用餘額為 1100.0!
取款成功
您的可用餘額為  0 元
您的總信用額度為 10000.0元,
已經透支 2830.0 元,
還可以透支 7170.0!
信譽額度不夠,請及時還款!
您的可用餘額為  0 元
還款成功!您的可用信用額度為 10200.0 元
您的可用餘額為 97170.0!
存款成功!
您的可用餘額為 97270.0!