【java】信用卡账户的设计与实现

该案例展示了如何在Java中设计一个信用卡账户类(CreditCard)和演示类(CreditCardDemo)。信用卡账户类包含姓名、余额和最大透支限额属性,并提供了存款、取款和获取账户信息的方法。演示类用于测试信用卡账户的功能,包括透支取款和存款操作。运行结果显示了不同操作下的账户状态。
摘要由CSDN通过智能技术生成

【案例介绍】

  1. 任务描述
    设计实现一个统一透支限额的信用卡账户类(CreditCard)和一个用于测试的演示类 (CreditCardDemo)。在演示类中创建信用卡对象进行测试。
    信用卡与普通银行账户的最大区别是允许透支。如果用户取款时,如果 (取款金额
    ⩽账户余额+透支限额),则可以正常取款,否则取款失败。
    在这里为了避免把问题弄的复杂,我们要求实现一个简单的信用卡账户类,账户有
    姓名、余额(可正可负,负数如-1000 表示已经透支了 1000 元)和最大透支限额(⩾0)
    信息。
    要求这两个类都放在 cn.edu.gpnu.bank 包中。

【案例目标】
 学会分析“信用卡账户的设计与实现”任务实现的逻辑思路。
 能够独立完成“信用卡账户的设计与实现”程序的源代码编写、编译以及运行。
 掌握静态属性、静态方法的编写与使用。  掌握 Java 中的构造方法、setter 方法、getter 方法的知识点。
【案例思路】
根据任务描述和运行图,我们可以确定信用卡账户类的属性和方法。
在这里插入图片描述
【运行代码】

1. CreditCard 类

package practice.bank;

public class CreditCard {
    public String name;
    public double balance;
    public double amount;
    static double maxOverdraft;

    public CreditCard(String name, double balance, double amount) {
        this.name = name;
        this.balance = balance;
        this.amount = amount;
    }

    public CreditCard() {

    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getBalance() {
        return balance;
    }

    public void setBalance(double balance) {
        this.balance = balance;
    }

    public double getAmount() {
        return amount;
    }

    public void setAmount(double amount) {
        this.amount = amount;
    }

    static {
        maxOverdraft=3000;
    }

    public void deposit(double amount) {
        balance = amount;
    }

    public boolean withdraw(double amount) {
        if (amount <= balance + maxOverdraft) {
            System.out.println("取出" + amount + "元" + "成功!");
            System.out.println("账户信息" + "姓名:" + this.name+
                    ",余额:" + this.balance+ ",最大透支额:" + maxOverdraft);
            return true;
        }
            else{
                System.out.println("余额不足,取款"+amount+"元"+"失败!");
                return  false;
            }
    }

    public String info() {
        return"账户信息"+"姓名" + this.name +
                ", 余额" + this.balance+
                ", 最大透支额" + maxOverdraft;
    }
}

2.CreditCardDemo类

package practice.bank;

public class CreditCardDemo {
    public static void main(String[] args){

        CreditCard creditCard = new CreditCard();
        creditCard.setName("张三");
        System.out.println(creditCard.info());

        System.out.println("**测试1:从信用卡取出5000元。");
        creditCard.withdraw(5000);

        System.out.println("**测试2:往信用卡存2000元。");
        creditCard.deposit(2000);
        System.out.println(creditCard.info());

        System.out.println("**测试3:再从信用卡取出5000元。");
        creditCard.withdraw(5000);

    }
}

【运行结果】
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值