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!
  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

勇敢牛牛_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值