讲师中心 微信公众号
AI工具推荐 视频效率加速

Java初学者如何做简易银行账户系统_余额管理与交易记录模块

小敏大大_6867

小敏大大_6867

发布时间:2025-11-15 14:10:03

|

962人浏览过

|

来源于php中文网

原创

先设计BankAccount类封装余额和交易记录,再实现存取款及记录功能。1. 创建类包含balance和ArrayList类型的transactionHistory;2. 构造方法初始化余额为0并记录初始操作;3. deposit方法校验金额大于0后增加余额并记录存款信息;4. withdraw方法判断金额有效且不超过余额后扣款并记录取款信息;5. 添加showTransactionHistory方法遍历输出所有交易记录;6. getBalance方法返回当前余额;7. 在main方法中创建对象并测试多次存取款操作;8. 输出最终余额与完整交易日志验证逻辑正确性。通过基础语法实现完整业务流程,适合新手掌握面向对象核心概念。

java初学者如何做简易银行账户系统_余额管理与交易记录模块

Java初学者想做一个简易银行账户系统,重点在余额管理和交易记录模块,其实并不难。只要掌握类、对象、方法和集合的基本使用,就能实现一个功能清晰的小程序。

设计账户类:封装核心属性与行为

先创建一个BankAccount类,用来表示一个银行账户。它应该包含账户余额和交易记录的存储。

余额用double类型保存,交易记录可以用ArrayList<String>来存每一笔操作的描述,比如“存款 +100.0”或“取款 -50.0”。

示例代码结构:

立即学习“Java免费学习笔记(深入)”;

public class BankAccount {
    private double balance;
    private ArrayList<String> transactionHistory;

    public BankAccount() {
        this.balance = 0.0;
        this.transactionHistory = new ArrayList<>();
        recordTransaction("账户创建,初始余额 " + balance);
    }

    private void recordTransaction(String detail) {
        transactionHistory.add(detail);
    }
}

实现余额管理:存款与取款方法

为账户添加存款(deposit)和取款(withdraw)功能。这两个方法要更新余额,并把操作记入交易历史。

Alibabacloud Sdk Client Initialization For Java
Alibabacloud Sdk Client Initialization For Java

在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。

下载

注意取款时判断余额是否足够,避免透支。

public void deposit(double amount) {
    if (amount > 0) {
        balance += amount;
        recordTransaction("存款 +" + amount);
    } else {
        System.out.println("存款金额必须大于0");
    }
}

public void withdraw(double amount) {
    if (amount > 0 && amount <= balance) {
        balance -= amount;
        recordTransaction("取款 -" + amount);
    } else if (amount > balance) {
        System.out.println("余额不足,无法取款");
    } else {
        System.out.println("取款金额必须大于0");
    }
}

查看交易记录:提供查询接口

添加一个方法来打印所有交易记录,方便用户查看资金流向。

也可以加一个方法返回当前余额,供外部调用。

public void showTransactionHistory() {
    System.out.println("交易记录:");
    for (String record : transactionHistory) {
        System.out.println(record);
    }
}

public double getBalance() {
    return balance;
}

主程序测试:运行示例

在main方法中创建账户对象,模拟几次操作。

public static void main(String[] args) {
    BankAccount account = new BankAccount();

    account.deposit(1000);
    account.withdraw(200);
    account.withdraw(150);
    account.deposit(500);

    System.out.println("当前余额:" + account.getBalance());
    account.showTransactionHistory();
}

运行后会看到余额变化和完整的交易列表,逻辑清晰,适合初学者理解面向对象编程的实际应用。

基本上就这些。不复杂但容易忽略细节,比如空指针或金额校验。多练习几次,再扩展功能如账户名、利息计算也不难。

热门AI工具

更多
UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

相关专题

更多
string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

5299

2023.08.02

go语言 面向对象
go语言 面向对象

本专题整合了go语言面向对象相关内容,阅读专题下面的文章了解更多详细内容。

5315

2025.09.05

java面向对象
java面向对象

本专题整合了java面向对象相关内容,阅读专题下面的文章了解更多详细内容。

302

2025.11.27

C++ 面向对象编程与设计模式实践
C++ 面向对象编程与设计模式实践

本专题整合了 C++ 面向对象编程的核心机制,涵盖类的定义与访问控制、构造函数与析构函数、拷贝语义与移动语义、继承与虚函数多态、抽象类与接口、运算符重载、友元函数等关键知识点,同时结合单例模式、工厂模式、观察者模式、策略模式等常用设计模式的 C++ 实现,帮助开发者写出结构清晰、易于维护的面向对象代码。

304

2026.04.09

Java 面向对象与核心编程机制
Java 面向对象与核心编程机制

系统讲解 Java 面向对象编程的核心知识体系,涵盖类的定义与封装、构造方法与 this/super 关键字、继承与方法重写、多态与向上向下转型、抽象类与接口的区别与设计原则、异常处理机制(try-catch-finally / 自定义异常)、泛型的类型参数与通配符、集合框架(List/Set/Map)的使用与遍历方式,帮助开发者全面掌握 Java 程序设计的核心机制与面向对象思维。

203

2026.04.17

c++怎么把double转成int
c++怎么把double转成int

本专题整合了 c++ double相关教程,阅读专题下面的文章了解更多详细内容。

3308

2025.08.29

C++中int、float和double的区别
C++中int、float和double的区别

本专题整合了c++中int和double的区别,阅读专题下面的文章了解更多详细内容。

604

2025.10.23

javascriptvoid(o)怎么解决
javascriptvoid(o)怎么解决

javascriptvoid(o)的解决办法:1、检查语法错误;2、确保正确的执行环境;3、检查其他代码的冲突;4、使用事件委托;5、使用其他绑定方式;6、检查外部资源等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

616

2023.11.23

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

120

2026.09.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
dev.java 官方:Learn Java
dev.java 官方:Learn Java

共0课时 | 0人学习

Java JDBC数据库连接官方教程
Java JDBC数据库连接官方教程

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn