




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
题目:用Java语言模拟ATM系统姓名:准考证号:指导老师: 用Java语言模拟ATM系统摘要21世纪是催人奋进的时代,科学技术飞速发展,金融业ATM取款机的诞生可以说是世界金融行业中的一大进步,更是其发展历史性的转折点。本文以实际提款机应用为背景,阐述了系统开发过程的开发方法、系统分析和一般步骤。全文共分为ATM系统综述、ATM系统的开发方法、系统分析、系统设计、系统实现和系统维护与评价七个部分,利用JAVA语言强大功能,并具有面向对象开发等的特点,联系实际ATM应用界面,采用Eclipse开发工具,以winXP操作系统、Access为后台开发出了一套自动取款机系统,基本上实现了账户查询、修改密码、转账和取款等业务。针对这一系列问题,我们利用JAVA语言在Eclipse下设计了这么一个系统,使得用户可以安全的进行操作,便捷,快速的进行取款以及完成一些商业上的交易,大大提高办公效率,能够及时、准确、有效的帮用户办理各种繁琐的手续,也减缓了银行工作人员的压力。关键字:ATM Java Eclipse 计算机科学目录 第一章 ATM系统综述1.1 概述 ATM自动取款机是由计算机控制的持卡人自我服务型的金融专用设备。ATM是英文Automatic Teller Machine的缩写。ATM是最普遍的自助银行设备,可以提供最基本的银行服务之一,即出钞交易,有些全功能的产品还可以提供信封存款业务。在ATM自动取款机上也可以进行账户查询、修改密码和转账的业务。同时在制作这个系统的过程中也应用了数据库的知识,这个相对于我们专业来说是比较重要的内容,这个也是这个学期学习的重点知识,同时数据库链接是必须要学会的,因为这个是最核心的内容,培养自己坚实的逻辑表达能力和沟通能力,和培养自己良好的文案能力。掌握ATM取款机的具体工作原理以及java简单系统的设计方法。1.2 ATM的发展众所周知随着信息时代科技的飞速发展和随着全球金融行业的兴起,使用ATM取款机、计算机信息技术以及计算机科学技术的发展,给人们的生活带来了天翻地覆的变化,同时这些技术在人们生活中的运用,随着科学技术的进步,经营方式的转变,处理信息系统的内容和形式也在发生变化。当前,以计算机和通信技术为基础的信息系统正处在蓬勃发展的时期,ATM取款系统可充分利用网络技术和数据库技术的发展,形成一种全新的运作方式。随着因特网的形成和发展,基于网络技术的信息系统除了它传统的功能外,实现了特定地方刷卡消费等。不仅提高了银行的业务处理能力,而且大大的节省了人们取钱所花费的时间和价值;并且在有效防止了一些非法的业务操作,对于一些复杂的信息,就能够充分的发挥它们的优越性。虽然起步较晚,近几年发展却较快,优其是随着微型计算机的出现和普及,为信息处理提供了物美价廉的手段,对于推动我国信息处理的现代化起了重要的作用。ATM取款系统正在朝着自适应、自学习的方向发展,也就是更好的实现模拟人性化过程。1.3 ATM取款机系统的影响ATM取款机诞生可以说是世界金融行业的一大进步,也是历史性的转折点。ATM自动取款机不仅能提高了银行的业务处理能力,还能大大的节省人们取钱所花费的时间和价值;并且在有效防止了一些非法的业务操作,对于一些复杂的信息,就能够充分的发挥它们的优越性。ATM系统对金融业的变革产生了和正在产生着深远的影响。从现代金融业新概念来看,ATM系统就是电子信息技术在金融业金融管理的一种应用。它避免了对于用户的信息资料、以及资金统计等用人工办理。数据信息处理工作量大,繁琐,数据处理手工操作,工作量大,工作时需实时认真办理,一但出现错误将带来很大的损失。从而解决了用户信息和资金信息的繁杂问题,对于ATM取款系统数据的统计和核实等都是采用卡号进行核对的,进而实现了数据的准确性、完整性、及时性,避免了工作人员和管理员工作时间一长,再进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。同时也得用户可以安全的进行操作,便捷,快速的进行取款以及完成一些商业上的交易,大大提高办公效率,能够及时、准确、有效的帮用户办理各种繁琐的手续,也减缓了银行工作人员的压力。第二章 ATM系统开发方法2.1 系统开发方法概述 软件开发方法是一种使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。开发目标是在规定的投资和时间内,开发出符合用户需求的高质量的软件。任何系统均有其产生、发展、成熟、消亡或更新换代的过程。这个过程称为系统的生命周期。系统生命周期法提供的思路、逻辑、技能、工具与工作规范,是系统开发、处理管理信息系统建设中各类实际问题的重要基础,对复杂系统的建设具有重要的指导意义。系统开发是管理信息系统建设中工作任务最为繁重,也是最重要的一个阶段。从项目开发到结束的整个过程,称为系统开发的生命周期。系统开发的生命周期一般分为系统分析、系统设计和系统实施。结构化生命周期法是一种面向数据流的开发方法。该方法简单实用、应用较广、技术成熟,方法的指导思想是自顶向下、逐步求精,基本原则是动能的分解与抽象,特别适合于数据处理领域的问题,随着开发项目规模的变化,该方法也就暴漏出了它的缺点:(1)对于规模大、特别复杂的项目不太适应(2)难于解决软件重用问题(3)难于适应需求变化问题,难于彻底解决维护问题。到了90年代,主流的开发方法是面向对象的开发方法,它的基本出发点是尽可能的按照人类认识世界的方法和思维方式来分析和解决问题。面向对象方法支持软件重用和原型概念,提高了系统开发的效率,因而得到了ATM系统各计算机界的极大关注。该方法包括面向对象分析、面向对象设计、面向对象实现。系统开发工作的自动化、计算机化是提高系统开发效率与质量的重要途径。计算机辅助软件工程(简记为CASE)也是当前信息系统领域和计算机应用领域的热门话题。CASE技术的目标是实现系统开发生命周期内各阶段工作基于计算机的自动化。这将导致系统开发工作的根本变化。2.2 该系统开发方法 比较各种开发方法的特点,结合银行取款系统的实际情况,整个系统采用结构化生命周期法,以原型法和面向对象的开发方法作为辅助,即系统总体上采用结构化生命周期法进行系统分析和系统设计,系统实施等步骤采用面向对象方法。本系统开发工具使用的是基于 Java 的可扩展开发平台的Eclipse。第三章 系统分析系统分析是管理系统开发的起始阶段,也是MIS开发工作中最重要的一环。系统分析阶段的主要活动有:系统初步调查、可行性研究、系统详细调查、新系统逻辑方案的提出。系统分析的目标是明确系统开发的目标和用户信息需求,提出系统的逻辑方案。为系统设计做好准备。3.1 系统初步调查系统的初步调查是系统分析阶段的第一项活动,也是系统开发的第一项活动,初步调查的主要目标是从系统分析人中和管理人员的角度看新系统开发有无必要和可能。通过亲身体验总结各银行ATM提款机界面流程,得到本系统开发的主要流程界面(主要功能取款、转账、查询、修改密码等)。并决定亲自开发取款机系统,测试自己水平。3.2 可行性研究可行性研究的目的就是用最小的代价在最短的时间内确定该软件项目是否能够开发,是否值得去开发。实质上就是进行一次简化、压缩了的需求分析、设计过程。可从以下三个方面分析研究每种解决问题的可行性:a.技术可行性:对项目的功能、性能、限制条件进行分析,确定在现有的资源条件下项目是否能实现。(开发的风险、资源的有效性、技术)b.社会可行性:要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。c.经济可行性:进行开发成本的估算以及了解得到效益的评估,确定要开发项目是否值得投资开发。对银行业来说,是靠存款贷款之间的差额来生存的,所以要尽可能的拉拢更多的客户使用本行,ATM取款机是为了能让为客户更便捷的服务,从而更具有吸引力。银行角度出发还是非常还是愿意把一部分资金投入到这方面的。3.3系统详细调查及提出系统详细调查是在可行性研究的基础上进一步对现行系统进行全面、深入的调查和分析,弄清现行系统运行状况,发现其薄弱环节,确保新系统比原系统更有效。详细调查的重点在于对系统的内部情况更详细和具体的了解,从而可以提供在新系统建设时改进或更换的内容。明确用户的信息需求,明确新系统的逻辑功能。主要工作是对用户需求进行进一步调查分析,创建新系统的逻辑模型。逻辑模型主要以数据流程图和数据典为主要描述工具。通过仔细调查得以下功能图和业务流程图:一般登陆模块只输入账号、密码,当然在实际应用中没有要求用户输入账号,这是因为在磁卡上有个感应区,编此模块时加上了验证码。 图3-1 功能图ATM取款机系统退出模块登入模块事物模块退卡修改密码查卡信息转账查询余额取款验证码输入密码插卡该系统主要实现银行卡用户的存取款,以及进行一些简单的查询和转账业务,同时能够在系统里面进行客户密码的修改,实现简单的机器与客户交互。图3-2 业务流程图:选择界面(查询、取款、转帐、修改密码、取消)登录界面(卡号、密码、验证码、取消等选项)待机界面(按任意键进入登录界面)密码错误,请从新输入!查询修改密码取款转帐交易完成点击退出谢谢使用,再见!第四章 系统设计系统设计阶段的主要目的是将系统分析所提出的反映用户信息需求的系统逻辑方案转换成可以实施的基本计算机(ATM取款机)与通信系统的物理(技术)方案。系统设计主要包括系统总体结构设计和详细设计。系统设计的依据主要有系统分析的成果、现行技术、用户需求、系统运行环境。4.1 系统总体结构设计 系统总体结构是指整个系统由哪些部分组成,以及各部分在物理上、逻辑上的相互关系,包括硬件部分和软件部分,该设计包括:系统总体布局方案的确定、软件系统总体结构的设计、计算机硬件方案的选择和设计、数据存储的总体设计。根据业务流程图转化为软件的体系结构,进而用软件结构图建立物理模型,得系统活动图,如下:图4-1系统结构图:图4-2系统活动图:4.2 系统详细设计详细设计的实现根据结构程序设计原理,将每个模块的功能用相应的标准语句表示出来。包括代码设计、数据库设计、用户界面设计、处理过程设计。代码设计是指把系统管理对象数字化或字符化,便于计算机的处理。遵照代码设计的原则:合理性、简明性、系统性、稳定性、可扩充性、标准化、便于识别和记忆。数据库设计指对系统所采用的数据模式、子模式、应用程序、数据库等根据用户的具体要求进行分析和设计。它也是管理信息系统设计的重要组成部分。数据库设计的基本原则是尽可能提高数据组织的相对独立性,简化其结构,即用规范化方法设施数据存储的结构,提高数据的可维护性、完整性、一致性。通过收集和分析用户需求,确定了数据库要保存的信息,我将此次数据库设计为二个如下所示表的设计如下:一、系统设置1、客户表(user)CardID字段信息字段名称类型宽度小数位数空特性姓名unamevarchar18性别usexvarchar18身份证号uidint10N卡号uoint10N图 4-3用户信息设计表2、账户表(card)CardID字段信息字段名称类型宽度小数位数空特性卡号oint10N账户余额cjineint10N密码imaint10N图 4-4 账户信息设计表二、界面模块设置用户界面设计目前已成为评价软件质量的一条重要指标,所谓用户界面是批软件系统与用户交互的接口,通常包括输入、输出设计、人机对话的界面设计。图 4-5登录模块当插入现金卡之后出现界面, 系统出现选择中英文的登入方式,点击按钮之后(中文)出现后对话框: 图 4-6输入界面登录模块依然采用的是密码验证的方式,需要用户输入卡号、密码和验证码然后点击确认进行验证,程序将根据输入卡号查找密码,第一没有找到提示,找到继续下一步,在这里我用了验证码方式,输入正确继续,程序系统将根据卡号调用后台数据库查找与卡号对应的密码并与用户输入的密码相对比。密码正确继续,否则当输入的次数达到三次时,系统将提示你与前台服务员取得联系。第二如果没有找到,提示输入账号错误。图 4-7首页设计首页的设计主要是设计了查询余额、取款、转账、密码更改及退出按钮等ATM的一些标准操作界面。 图 4-8查询模块在此模块中,将通过用户所使用的账户编号来进行余额的查询,将显示账户的实际余额,点击“查询”按钮,通过按钮的Action方法进行方法调用,就可以实现查询的功能并把查询到的账户余额显示到界面上。当用户点击“返回”时,程序返回到初始主界面。 图 4-9 查询卡信息模块此功能用来显示持卡人的基本信息包括姓名、性别、身份证、卡号等,点击查询按钮后系统将根据与输入的卡号相一致的字段信息,显示输出在该页面上。当点击取消按钮时系统将返回到初始主界面。 图 4-10 修改密码模块 此模块需要用户输入旧密码后,两次输入新密码进行确认,然后,点击确定,修改密码,成功后给出提示信息,其中考虑到一些用户的输入错误问题,我做出了一些异常的判断和处理,空输入,输入两次新密码不匹配和原密码不正确等问题。修改更新密码的完成仍然依靠按钮控件的Action事件完成。 图 4-11 转账业务模块 在此模块,用户根据需要自己输入卡号及欲转金额,这里的设计其实最终归结于具体的SQL语句而言,系统将根据输入的卡号查找与只对应的用户数据表,从而修改金额。第一,系统首先根据本卡号,查找本卡金额与输入的金额对比,如果找到,且金额允许就提示转账成功。第二,如果,没有找到输入的卡号,提示没有该用户,重新输入欲转账号。 图 4-12 取款模块取款模块是一个相对比较重要的模块,因为ATM机就要的功能就是取款业务,用户选择账户名点击取款金额然后点击取款进行取款操作,所以几个数字按钮的设计比较大,方便用户操作,其中一些提示信息也相应地给出,以防用户误操作。由于此模块不需要用户输入,所以没有对输入的异常处理。根据所查资料我所采用的SQL语句调用方法是预处理指令方法,这种方法对于处理此程序具有很大的益处,而且可以防止非法SQL注入。当用户点击数组按钮后系统将根据输入的卡号查找卡号余额并与按钮的数字相对比,如果选择的金额大于本卡余额将提示(不允许透支)。 图 4-13 退卡模块退卡模块相对简单多了,没有什么具体的界面设计,只是一个消息的提示,也是一种友好的处理方式,以防止用户误操作的方法。第五章 系统实现系统实施是ATM系统开发过程中的最后一个阶段。它的目标是将技术设计转化成物理实现。系统实施阶段的主要任务有:按总体设计方案购置和安装计算机网络系统、建立数据库、编程与调试、整理基础数据、培训操作人员、程序试运行和系统切换。5.1 开发环境(1)、软件开发具的选择本系统采用Java作为编程语言,采用Eclipse软件开发环境,Eclipse对数据库应用的强大支持,使数据库应用开发功能更强大,控制更灵活,编译后的程序运行速度更快。(2)、数据库管理系统的选择由于本次设计所采用的是Microsoft Office Access 型数据库,这种数据库用来存储少量数据,在设计和实施上有很大的优势,根据之前所做的功能分析,以及ATM柜员机自身所具备的功能。 (3)、开发平台的选择windows 平台以其全新的界面简单快捷的操作方式而成为软件开发的趋势。根据本系统的运行环境和实际情况,选择Windowsxp作为开发测试和运行的平台。5.2 程序设计与调试1、程序设计 程序设计语言的选择通常考虑到项目的应用领域、软件开发方法、软件执行环境、算法和数据结构的复杂性、和软件开发人员的知识。程序设计是指使用选定的程序设计语言,把经过概要设计各详细设计所得到的信息处理过程,转换成能在计算机上运行的程序源代码。本系统中用Eclipse编程工具,采用结构化的编程方法对模块进行程序编写。具体源程序见附页。2、程序调试软件测试的目的是尽可能多的发现程序中的错误,而调试则是在进行了成功的测试之后才开始的工作。程序调试是指在系统测试的基础上,将发现的问题进行改正,使之符合设计标准。本系统采用的主要方法如下:(1) 单元测试:是指原程序中每个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。采用白盒法对各模块进行逻辑错误排查,用黑盒法录入一些有特征的数据从不同角度验证结果。(2) 集成测试:在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行测试。(3) 确认测试(有效性测试):它的任务是检查软件的功能与性能是否与需求规格说明书中确定的指标相符合。一般分为用黑盒进行确认测试,再检查软件所有文档的完整性、正确性软件配置审查。5.3 试运行系统试运行是指对系统的运行环境和资源进行设置、系统运行和控制参数设定、数据加载以及调整系统与业务工作同步等。第六章 系统维护系统维护是软件生存周期中时间最长的一个阶段,所花费的精力和费用也是最多的一个阶段,系统维护的目的是保证系统中的各个要素随着环境的变化始终处于最新的、正确的工作状态。系统维护是信息系统可靠运行的重要技术保障,我们应给予足够的重视。系统维护内容有校正性维护、适应性维护、完善性维护和预防性维护四种。(1) 校正性维护:为了识别和纠正错误,修改软件性能上的缺陷,进行确定和修改错误的过程。(2) 适应性维护:为了使应用软件适应变化而修改软件的过程(3) 完善性维护:为了适应变化,应用软件原来的功能和性能需要扩充和增强。从而达到提高软件运行效率,增强软件性能而进行的维护。(4) 预防性维护:为了提高软件的可维护性和可靠性而对软件的修改。第七章 系统评价系统评价应是贯穿系统整个生命周期各个阶段的重要决策手段和工作环节。狭义上的系统评价是指系统投入运行后从功能性能、经济效益、社会效益上的评价本系统基本实现了取款、查询余额、转账、修改密码等功能,但由于时间短、知识水平有限,经验不足,系统仍存在不足,该系统主要有以下特点: 1、程序可读性强,易懂易维护2、用户界面简洁,方便了用户使用。3、安全性好,系统仍然使用输入密码方式,保证了系统的安全。4、系统稳定,基本达到预期的功能要求。5、系统还存在着许多不足,特别是在数据库的链接上,在代码的编写上也存在着很多的不足,代码存在着很多的缺陷。6、在系统的的界面效果上也存在不足,系统界面显示应在屏中间。总的来说,本次设计当中存有许多的不足之处,基本上设计出了和自己预想中的效果,但同时在设计上也还存在着很多的,很多事没有什么用的代码,我想是因为时间和经验的问题,以后多练习就肯定能提高,UI设计方面,仔细地看,还有一些小问题,系统运行时的警告就多达36处,但不会影响程序的运行,只会在美观方面有一定的影响,今后一定改善。第八章 结束语1.通过java编写简单的ATM登录系统的设计,我不仅复习了上学期的java编程设计基础知识,并且增强了我对java语言的领悟和应用,同时也更深刻的懂得了学好学会了并不是代表能够真正的在实践中运用得流畅,这次实践给了我们一个既动手又动脑独立实践的机会,但其中也包含了自我寻找资料的能力和同学间的合作能力。这个系统将理论和实践相结合,提高自己的分析、解决问题的能力,并且让我明白了计算机的技术一定要从实际出发才能真正的提高自己的能力;2.经过了一个多月的设计和编写这个系统,我深刻的认识到了自己的不足和缺点,自己处在什么水平,和同学相比自己的差距有多大,但是我也发现了自己的优点和长处,不管怎么样,通过这次学习,我懂得了怎样取长补短,充分利用网络资源的重要性。3.撰写,受到了杨占敏老师的悉心指导,同事朋友的热心帮助,在此表示衷心的感谢!附:一、要参考资料:参考文献1 夏宽理Java语言程序设计1 机械工业出版社 20XX-04出版2张孝祥,Java就业培训教程,清华大学出版社. 20XX.63 陆丽娜 软件工程 经济科学出版社2000年3月4 丁宝康 数据库系统原理 经济科学出版社 20XX年版 参考网络资源1 豆丁网 2 百度知道 3 百度文库 二、源代码部分 import java.awt.*;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.swing.*;import java.awt.event.*;class Panel1 extends JPanelJLabel label1,label2; Panel1() setLayout(new GridLayout(4,1); label1=new JLabel( +银行存取款系统);label2=new JLabel( +欢迎你成为本行用户,你可以选择中文或英文方式); add(new JLabel();add(label1);add(label2);add(new JLabel(); class Panel2 extends JPanel JButton button1,button2; Panel2() setLayout(new GridLayout(3,6); button1=new JButton(中文);button2=new JButton(英文); add(new JLabel();add(new JLabel();add(new JLabel();add(new JLabel();add(new JLabel(); add(new JLabel();add(new JLabel();add(button1);add(new JLabel();add(new JLabel(); add(button2);add(new JLabel();add(new JLabel();add(new JLabel();add(new JLabel(); add(new JLabel();add(new JLabel();add(new JLabel(); class Client extends JFrame implements ActionListener Panel1 panel1;Panel2 panel2;JFrame frame; Client(String s) super(s); Container con=this.getContentPane(); con.setLayout(new GridLayout(2,1); panel1=new Panel1();panel2=new Panel2(); con.add(panel1);con.add(panel2); panel2.button1.addActionListener(this); panel2.button2.addActionListener(this); this.setVisible(true);this.pack(); public void actionPerformed(ActionEvent e) if(e.getActionmand()=中文) this.setVisible(false); new Client00(输入密码); else if(e.getActionmand()=英文)String inputValue = JOptionPane.showInputDialog(Please input a value); public class bankSystem public static void main(String args) new Client(用户取款系统); class Panel01 extends JPanel JLabel label1,label2,label3,label4;JPasswordField textA;JTextField textC; static JTextField textB;char t=new char4; Panel01() setLayout(new GridLayout(4,4); for(int i=0;i4;i+)ti=(char)(Math.random()*26+a); String mm=new String(t); label2=new JLabel(请输入卡号:);label1=new JLabel(请输入密码:); label3=new JLabel();label4=new JLabel(请输入验证码:);label3.setBackground(Color.white); label3.setForeground(Color.red); textC=new JTextField(10);textC.setForeground(Color.blue); label3.setText(mm); textA=new JPasswordField(6);textA.setEchoChar(*);textB=new JTextField(); for(int i=0;i5;i+)add(new JLabel(); add(label2);add(textB);add(new JLabel();add(new JLabel(); add(label1);add(textA);add(new JLabel();add(new JLabel(); add(label4);add(textC);add(label3); class Panel02 extends JPanelJButton button1,button2; Panel02() setLayout(new GridLayout(3,6); button1=new JButton(确定);button2=new JButton(取消); for(int i=0;i7;i+)add(new JLabel();add(button1);add(new JLabel();add(new JLabel(); add(button2);for(int i=0;i6;i+)add(new JLabel(); class Client00 extends JFrame implements ActionListener Panel01 panel1;Panel02 panel2;JFrame frame;int i=0,j=0; Client00(String s) super(s); Container con=this.getContentPane(); con.setLayout(new GridLayout(2,1); panel1=new Panel01();panel2=new Panel02(); con.add(panel1);con.add(panel2); panel2.button1.addActionListener(this); panel2.button2.addActionListener(this); this.setVisible(true);this.pack(); public void actionPerformed(ActionEvent e) char passwords=panel1.textA.getPassword();String password=new String(112626);/设置账号123456789的初始密码为112626,每输入一次都有提示,在连续输入三次不正确后系统自动退出。 if(e.getActionmand().equals(确定) if(panel1.textC.getText().equals(panel1.label3.getText() heshi(); elseJOptionPane.showMessageDialog(frame,你输入的验证码有误,请重新输入。); else if(e.getActionmand()=取消)this.setVisible(false);new Client08(“”); public void heshi() if(panel1.textA.getText().equals()|panel1.textB.getText().equals()JOptionPane.showMessageDialog(frame, 请输入账号、密码!);return;String url = jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=bankSystem.mdb;/程序直接使用当前类目录下的数据库文件tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection con=DriverManager.getConnection(url);Statement sql=con.createStatement(); String ql=panel1.textB.getText(); ResultSet rs=sql.executeQuery(select ima from card where o=+ql+); if(rs.next() String qerycmima=panel1.textA.getText(); String s=rs.getString(1); if(qerycmima.equals(s) JOptionPane.showMessageDialog(frame, 连接成功!); this.setVisible(false);new Client01(用户取款系统); else if(i!=2)i+;j=3-i; JOptionPane.showMessageDialog(frame,密码有误! 你还有+j+次机会,请你再仔细想想.); panel1.textA.setText(); else JOptionPane.showMessageDialog(frame,对不起,你输入的密码次数达三次,下次再见。);System.exit(0); con.close();frame.repaint(); elseJOptionPane.showMessageDialog(null, 该用户不存在,重新输入!,警告!, JOptionPane.YES_NO_OPTION); panel1.textA.setText();panel1.textB.setText();panel1.textC.setText();return; catch(SQLException g)System.out.println(E Code+g.getErrorCode();System.out.println(E M+g.getMessage(); catch(Exception e) e.printStackTrace(); class bankSystem00 public static void main(String args) new Client00(用户取款系统); class Panel03 extends JPanel JButton button1,button2,button3,button4,button5; Panel03() setLayout(new GridLayout(8,6); button1=new JButton(查询);button2=new JButton(取款); button3=new JButton(转账);button4=new JButton(退出);button5=new JButton(修改密码); for(int i=0;i7;i+)add(new JLabel();add(button1);add(new JLabel();add(new JLabel(); add(button2);for(int i=0;i8;i+)add(new JLabel();add(button3);add(new JLabel();add(new JLabel();add(button5); for(int i=0;i17;i+)add(new JLabel();add(button4);for(int i=0;i7;i+)add(new JLabel(); class Client01 extends JFrame implements ActionListener Panel03 panel1;JFrame frame; Client01(String s) super(s); Container con=this.getContentPane(); panel1=new Panel03();con.add(panel1); panel1.button1.addActionListener(this);panel1.button2.addActionListener(this); panel1.button3.addActionListener(this);panel1.button4.addActionListener(this);panel1.button5.addActionListener(this); this.setVisible(true);this.pack(); public void actionPerformed(ActionEvent e) if(e.getActionmand()=取款) this.setVisible(false); new Client02(请选择取款金额); else if(e.getActionmand()=查询) this.setVisible(false); new Client06(查询服务); else if(e.getActionmand()=修改密码) this.setVisible(false); new Client05(修改密码服务); else if(e.getActionmand()=转账) this.setVisible(false); new Client04(用户转账服务); else if(e.getActionmand()=退出) this.setVisible(false);new Client08(“”); class bankSystem01 public static void main(String args) new Client01(用户取款系统); class Panel04 extends JPanel JButton button1,button2,button3,button4; Panel04() setLayout(new GridLayout(4,6); button1=new JButton(100);button2=new JButton(200); button3=new JButton(300);button4=new JButton(500); for(int i=0;i7;i+)add(new JLabel();add(button1);add(new JLabel();add(new JLabel(); add(button2);for(int i=0;i8;i+)add(new JLabel();add(button3);add(new JLabel(); add(new JLabel();add(button4);add(new JLabel(); class Panel05 extends JPanel JButton button1,button2,button3,button4; Panel05() setLayout(new GridLayout(4,6); button1=new JButton(800);button2=new JButton(1000); for(int i=0;i7;i+)add(new JLabel();add(button1);add(new JLabel();add(new JLabel(); add(button2);for(int i=0;i13;i+)add(new JLabel(); class Client02 extends JFrame implements ActionListener Panel04 panel1;Panel05 panel2;JFrame frame; Client02(String s) super(s); Container con=this.getContentPane(); con.setLayout(new GridLayout(2,1); panel1=new Panel04();panel2=new Pane
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年数据分析师高级面试题集
- 桡尺骨骨折课件
- 2025年图书馆特色资源建设方案策划师招聘面试题解
- 2025年双语数学教学职位应聘面试攻略模拟题及答案解析民办学校
- 2025年区域经济与可持续发展考试试题及答案
- 2025年电力行业安全监理员招聘安全知识预测试题集
- 2026届湖南省邵阳市邵阳县第一中学化学高三上期末教学质量检测试题含解析
- 2026届河南省扶沟高中化学高二第一学期期末考试模拟试题含答案
- 2025年法律行业人工智能应用考察试卷及解析答案
- 2025年注册验船师资格考试(A级船舶检验专业综合能力)综合试题及答案一
- 2025年保安员理论考试题库及答案
- 2025年江苏省综合评标评审专家库专家考试(公共基础知识)历年参考题库含答案详解(5套)
- 2025废气处理合作协议合同范本
- 麻醉师进修汇报
- 基坑监测评审汇报
- 2025-2026年秋季学期各周国旗下讲话安排表+2025-2026学年上学期升旗仪式演讲主题安排表
- 物业公司电瓶车管理制度
- 肺占位性病变护理查房
- 广告创意与用户体验-第3篇-洞察阐释
- 幼儿园一日常规安全培训
- 5G基带芯片算法验证平台:从设计到实现的关键技术与实践
评论
0/150
提交评论