Java模拟储蓄卡和信用卡

来源:互联网 发布:数据库null什么意思 编辑:程序博客网 时间:2024/04/28 18:06

题目:
这里写图片描述
这里写图片描述

储蓄卡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!
0 0
原创粉丝点击