• 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+"元,
    "+"已经透支 "+amount*-1+" 元,
    "+"还可以透支 "+(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!
  • 相关阅读:
    win8装oracle 10g 弹出:环境变量path的值超过1023字符,无法设置改值
    Modern UI for WPF 开源项目(3):用模板创建我的第一个Modern UI app
    安装oracle11G,10G时都会出现:注册ocx时出现OLE初始化错误或ocx装载错误对话框
    win8快捷键
    Win7/Win8 系统下安装Oracle 10g 提示“程序异常终止,发生未知错误”的解决方法
    Delphi FireDAC 连接SQL Server一些要注意的地方
    Delphi XE5 for Android (四)
    Delphi D10.X VCL和FireMonkey之间的常见差异介绍
    delphi给App授予权限
    github无法登陆的解决办法
  • 原文地址:https://www.cnblogs.com/cnsec/p/13286811.html
Copyright © 2020-2023  润新知