Advertisement

通过简单的Java程序模拟ATM机功能。

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
该项目提供了一个用Java语言开发的简易ATM机功能示例,它具备一个精心设计的、美观的用户界面,并包含一系列完善的功能模块,采用了业务分层架构,同时遵循了严格的编码规范。该案例旨在为初学者提供一个良好的学习资源。此外,在“db”文件夹中提供了两种数据库的表结构,分别为MySQL和SQL Server。项目目录结构包括:.classpath、.project、.settings、org.eclipse.jdt.core.prefs、bin、mysql-connector-java-5.1.18-bin.jar、db、mysql_bank.sql、sqlserver_bank.sql以及mysql-connector-java-5.1.18-bin.jar和MANIFEST.MF。 包含图片资源a11.jpg, a12.jpg, a13.jpg, a16.jpg, a18.jpg, a19.jpg, jgyh.jpg 和 pic.jpg。 源代码文件包括:src/cn/bank/action/CheckBalance.java、LoginAction.java、ModifyPsw.java、TransferAccountsAction.java、UpdateBalance.java 以及 CardInfo.java,同时包含启动文件Login和用户界面文件CheckBalanceUI。 还提供了失败登录界面FailedLoginUI,登录界面LoginUI,修改密码界面ModifyPswUI,服务界面ServiceUI以及成功修改密码界面SuccessModifyPswUI,成功转账界面SuccessTransferAccountsUI,成功取款界面SuccessWithdrawingMoneyUI以及转账界面TransferAccountsUI和取款界面WithdrawingMoneyUI 和 WithdrawingMoneyUI4OtherFiguer。 辅助工具类DbManager也随项目一同提供。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • JavaATM
    优质
    本项目为使用Java语言开发的一个简易版ATM系统,旨在通过模拟银行账户管理、存款、取款和查询余额等功能,帮助初学者理解面向对象编程及类与对象的应用。 本段落介绍了一个使用Java语言编写的简单模拟ATM机功能的案例,该程序具有美观的UI界面,并且包含较为完善的功能模块及业务分层设计,编码格式规范。此项目可供初学者参考学习。 该项目文件结构如下: - db:包括两种数据库(MySQL和SQL Server)表结构。 - mysql_bank.sql - sqlserver_bank.sql - lib:存放JDBC驱动jar包mysql-connector-java-5.1.18-bin.jar,用于连接不同类型的数据库。 - pics:包含项目中使用的图片文件。 - src: 包含项目的源代码目录。主要分为action、domin和utils三个子模块。 - cn.bank.action:包括登录操作(LoginAction.java)、查询余额(CheckBalance.java)、转账功能(TransferAccountsAction.java)等业务处理类; - cn.bank.domin:定义了卡信息实体CardInfo.java以及启动程序的入口点Login.java; - cn.bank.ui: 提供用户界面相关组件,如登录界面(LoginUI.java)、修改密码(ModifyPswUI.java)等功能界面。 - cn.bank.utils:包含数据库管理工具类DbManager.java。 项目采用模块化设计思路,代码清晰易读。通过此案例可以帮助初学者了解如何使用Java进行桌面应用程序开发以及一些基本的面向对象编程实践技巧。
  • Java设计——ATM(入门)
    优质
    本课程为Java编程入门级教程,通过构建简单的ATM机系统,帮助初学者掌握基本语法、流程控制及面向对象编程等核心概念。 ### 账户类设计(满分50分) #### 版本1:满分10 分 设计`Account1` 类,包含以下内容: - 一个名为 `id` 的私有整型数据域,默认值为 0,长度限制在6位。 - 一个名为 `balance`的私有双精度浮点类型的数据域,默认值设为 0。 - 一个存储当前利率(默认值为0)的私有双精度浮点类型变量 `annualInterestRate`。所有账户均采用统一的年利率设置。 - 一个用于记录开户日期的时间类数据域名为 `dateCreated`。 构造方法: - 创建无参构造函数,初始化所有字段至其默认值; - 提供带特定ID和初始余额的构造器(要求初始余额非负); 访问与修改方法: - 实现对私有变量 id、balance 和 annualInterestRate 的读写操作。 - 为 `dateCreated` 数据域提供只读接口。 其他成员方法: - 定义名为 `getMonthlyInterestRate`的方法,返回月度利率值; - 创建一个名为 `withdraw`的函数,允许从账户中扣除特定金额。需确保余额不会被透支,并且每次操作后更新交易记录。 - 实现存款功能通过定义 `deposit` 方法来实现。 数据域: - 对双精度浮点类型的数据保留两位小数。 - 成员方法和数据领域进行合理性的检查以保证程序的健壮性。 #### 测试类 ATMMachine1 创建一个包含 100个账户的对象数组,其 id 设为从0到99,并将所有账户初始化余额设为 1000 美元。 主菜单如下: - Main menu - 选项一:查询余额; - 选项二:取款操作; - 选项三:存款交易; #### 版本2: 满分20 分 在 `Account1` 类的基础上扩展为名为 `Account2` 的新类,增加如下特性: - 新增一个私有字符串类型的数据域用于存储账号密码(仅限字母或数字组成且长度范围6至10位),显示时以星号表示。 - 一个新的客户姓名的私有数据字段命名为 name; - 提供一个记录交易历史的 ArrayList 类型的新变量,每个交易项为 Transaction 类的一个实例。Transaction类定义参考教材中文版 P327 或英文版P404。 构造方法: - 实现带初始余额和随机生成ID(确保不重复)的构造器,并且如果初始余额参数小于零,则抛出自定义异常并处理。 重写的方法: - 重新设计 `withdraw` 方法,规定取款金额必须是100元的整数倍,单日提取上限为5,000美元。每次操作后更新交易记录。 - 同样修改存款方法以确保每次存入时也需添加一笔新的交易记录。 新增的方法: - 设计一个名为 `changePassword` 的函数允许用户在旧密码正确、新密码满足要求且两次输入一致的情况下更改账户的登录密码。 测试类 ATMMachine2 主菜单如下(参考教材中文版 P296 或英文版P367): - Main menu - 选项零:创建一个新账号; - 选项一:查询余额; - 选项二:取款操作; - 选项三:存款交易; - 选项四: 查看账户的详细交易记录; - 选项五: 更改密码; - 选项六: 结束程序; #### 版本3 : 满分20 分 基于 `Account2` 类,开发一个GUI界面模拟ATM系统。该应用程序应具备以下特性: - 界面模仿实体键盘布局。 - 用户信息和交易记录存储在名为accounts.dat的文件中,并通过此文件进行读写操作以实现数据持久化。 - 所有用户交互均配有简洁友好的提示语。 以上便是本次作业的设计要求,希望每位同学都能根据上述指导完成高质量的作品。
  • ATM柜员.rar
    优质
    本软件为ATM柜员机操作模拟程序,旨在帮助用户熟悉和练习银行自动取款机的基本功能与操作流程。适合学生及银行业从业人员使用。 设计一个使用文本命令行界面的ATM柜员机程序。初始卡号和密码为123456,输入正确的卡号和密码后可以登录系统并进行以下操作: (1) 查询余额 (2) ATM取款 (3) ATM存款 (4) 修改密码
  • Java设计之ATM
    优质
    本项目为Java课程设计作品,旨在通过模拟ATM机的操作流程,帮助学生掌握面向对象编程、异常处理及文件操作等核心技能。 我们设计了一个Java课程项目,模拟了功能强大的ATM机。该项目包含了十五种应用功能,并通过迭代器更新存款、取款、汇款及更改个人信息的所有数据。整个项目的代码量超过三千行。
  • Java实现ATM取款(含源码)
    优质
    本项目为一个使用Java语言开发的ATM取款机模拟程序,旨在提供用户友好的界面和功能以模拟真实的银行取款流程。包含完整源代码供学习参考。 Java 模拟 ATM 取款机程序 本节我们将对 Java 模拟 ATM 取款机程序进行详细的分析与解释。该程序模拟了银行自动取款机的基本功能,如取款、查询等。 类 Account:作为此程序的核心部分,Account 类用于实现客户信息的存储和管理。在这一类中定义了四个私有成员变量:code(信用卡号)、name(客户姓名)、password(密码)以及 money(卡内金额)。该类提供了一个构造函数来初始化客户的这些基本信息,并且提供了 getter 方法以供获取相关信息,同时还有 setter 方法用于更新账户余额。 类 ATM:作为程序的主要组成部分,ATM 类负责实现具体的取款机功能。在这个类中包含一个 Account 对象实例 act 用来存储和管理客户信息。该类内含 Welcome 方法来展示欢迎界面,并输出相应的菜单选项;Load_Sys 方法则用于登录系统时验证客户的信用卡号与密码是否正确;SysOpter 方法根据用户的选择执行不同的操作,例如取款、查询账户详情、修改密码以及退出程序。 安全机制:此程序中实施了简单的安全性措施。具体而言,在尝试登陆过程中,如果连续三次输入错误的卡号或密码,则系统将会被锁定以防止非法访问。 Java 语言特性:该模拟项目利用到了 Java 的多项关键功能,包括面向对象编程、异常处理及输入输出操作等技术,并且通过标准 I/O 流实现了用户界面交互设计。 综上所述,这个使用了 Java 编写的 ATM 取款机程序能够实现基本的银行服务如提款和账户查询等功能。此外还具备一定的安全机制以保护用户的个人信息免遭泄露或滥用的风险。
  • ATM.zip
    优质
    ATM模拟程序是一款用于教学和学习目的的应用程序,它通过仿真银行自动取款机的操作流程,帮助用户理解ATM的功能及其背后的逻辑。 对于Java初学者来说,在输入给定的卡号(初始卡号为62250028)和密码(初始密码为123456)后,系统可以登录ATM柜员机系统,并允许用户进行以下操作: 1. 查询余额:用户的初始余额为10000元; 2. ATM取款:每次取款金额需是100的倍数,且总额不超过5000元。同时,不允许出现透支情况; 3. ATM存款:不能有负存款的情况发生; 4. 修改密码:新设置的密码长度不得少于6位,并且不允许使用完全相同的六位数字作为密码;只有当旧密码正确、新输入两次的新密码一致并且符合要求的情况下才能成功修改。 此外,系统需要采用数据库来存储数据。用户界面可以选择实现GUI或直接将结果打印到控制台上。
  • Java界面ATM
    优质
    本项目是一款使用Java语言编写的简易ATM模拟程序,通过图形用户界面(GUI)实现存款、取款和查询余额等基本功能。 利用Java编写了一个仅有一个账号的简单ATM系统,支持取款、存款、转账等功能,并使用资源文件进行数据存储。该程序带有简单的图形用户界面。使用者需要在电脑上安装JDK 1.7以及Java开发工具。
  • ATM系统 包含管理员端与用户ATM
    优质
    本项目是一款集管理员端和用户模式于一体的ATM机模拟系统,旨在提供便捷的操作体验和全面的功能测试。 ATM模拟程序包含管理员端和用户模式两大模块。用户模块的功能包括查询余额、ATM转账、存款、取款、修改密码、查询交易记录、导出记录以及退卡等。具体功能详情请参考相关文档或描述。
  • Java设计-ATM柜员最终版.docx
    优质
    本文档提供了Java语言实现的ATM柜员机模拟程序的设计与开发细节。涵盖了用户认证、账户管理、交易处理等功能模块,并附有完整的源代码和测试案例,是学习Java编程及项目实践的理想材料。 随着市场经济的繁荣发展,人们的物质生活得到极大提升,手中的剩余资金也日益增多。受传统观念影响,大多数人倾向于将资金存入银行,在需要使用现金的时候再到银行提取。这导致了银行业务量急剧增加。尽管银行网点数量不断增加,并且通过信息化手段提高了工作效率,但仍然无法满足广大用户的需求。 为了应对这一挑战并简化用户的金融交易过程,我们设计了一个ATM柜员机模拟程序。该系统旨在实现以下几个主要功能:系统登录、余额查询、取款和存款操作以及密码修改等基本服务,以模仿真实ATM的操作流程与用户体验。 具体来说,该课程项目要求使用图形用户界面进行开发,并且当输入预设的卡号(如123456)及初始密码时能够成功登陆系统。进入后,用户可以执行以下操作: - 查询账户余额:起始金额为人民币一万元。 - ATM取款功能:每次提款必须是百元整数倍,单次最多五千元,并且不允许透支。 - 存款服务:存款额不能为负值。 - 密码更改机制:新密码长度至少六位,不得完全相同;只有在输入当前正确旧密码并确保两次输入的新密码一致的情况下才可完成修改。 项目时间安排如下: 1月4日: 教师布置任务,并讲解设计内容。 1月5日: 查阅相关资料、绘制流程图及初步设想。 1月6日: 进行详细设计,创建各个类以及编写程序代码。 1月7日: 对软件进行调试与测试并分析结果。 1月8日: 完成课程报告的撰写,并接受考核和答辩。 通过这一周的努力工作,我们成功地运用面向对象编程的知识构建了一个“ATM柜员机模拟系统”。尽管过程中遇到了不少挑战,比如需要复习巩固之前的理论知识、编写大量代码以及熟悉API接口等。但最终在指导老师的帮助和支持下,项目顺利完成,并达到了预期目标。