《《高级语言程序设计》课程设计报告-- JAVA程序课程设计.docx》由会员分享,可在线阅读,更多相关《《高级语言程序设计》课程设计报告-- JAVA程序课程设计.docx(21页珍藏版)》请在第壹文秘上搜索。
1、高级语言程序设计课程设计报告课题名称:JAVA程序课程设计目录第1章课题概述错误!未定义书签。1.1课题的目的与要求错误!未定义书签。第2章设计概要11. 1系统功能模块划分12. 2ATM取款机系统功能结构图2第3章程序功能的实现33. 1首界面设计33.2登录页面设计33.3选择服务模块设计错误!未定义书签。3.4取款模块设vf*.43.5修改密码设计43.6退卡模块设计5第4章系统运行效果及存在问题54.1 系统运行效果54.2 存在问题9第5章程序部分代码95.1 登录页面首窗口设计代码95.2 监听器设计代码错误!未定义书签。5. 3选择各种服务设计代码错误!未定义书签。5.4主函数
2、设计代码错误!未定义书签。5. 5选择服务设计代码错误!未定义书签。5.6 各种服务功能设计代码错误!未定义书签。5.7 取款功能设计代码错误!未定义书签。5.8修改密码设计代码错误!未定义书签。5.9设定新密码设计代码错误!未定义书签。5.10窗口事件设计代码错误!未定义书签。5.11查询余额功能设计代码错误!未定义书签。第6章总结19参考文献错误!未定义书签。第1章课题概述1.1 课题的目的与要求输入给定的卡号和密码(初始卡号为62250028和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行操作:1、查询余额:初始余额为100OO元;2、ATM取款:每次取款金
3、额为100的倍数,总额不超过5000元,支取金额不允许透支;3、修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码;4、要求数据采用文件存储,如果界面实现采用了GUI,则酌情加分。第2章设计概要2.1 系统功能模块划分本系统主要包括登陆模块设计,选择服务模块设计,取款模块设计,修改密码模块设计,退卡模块设计等几个功能模块。其中,(D登陆模块设计:与ATM柜员机打交道比较多的,也是大家对安全比较关心的问题:密码。所以第一个界面就是要输入密码和卡号才能继续服务。(2)选择服务模块设计:在选择服务模块中,有各种ATM
4、的服务功能,只要用户在该界面中选择按钮,它就会弹出各个相应的界面。(3)取款模块设计:在取款模块中,和其他的界面也是同样的结构。也是有一个文本框和一个按钮还有标签组成的,实现用户取款的服务。(4)修改密码模块设计:在修改密码模块中,首先你必须要输入你的旧密码是否正确,否则就会报错。再一个就是要两次输入你的新密码,且两次要匹配,否则也会报错,然后再重新回到修改密码的界面。(5)退卡模块设计:此功能非常简单,仅仅是实现弹出卡的功能。2.2 ATM取款机系统功能结构图总体设计中最核心的问题是系统总体功能结构的确定和子系统与模块的划分,结构化。ATM取款机系统功能结构图,如图1所示:取款模块查询余额模
5、块修改密码模块退卡模块图1ATM取款机系统功能结构图该ATM取款机系统各个部分负责的主要业务如下:(1)登陆页面模块,对取款者进行身份验证。(2)选择服务模块,包括取款,余额查询,转帐,修改密码,退出等功能模块。取款模块,实现取款的具体操作。(4)查询余额模块,查看当前登陆人员的余额。(5)修改密码模块,可以方便的实现当前登陆人员对自己的密码进行修改。(6)退卡模块,完成取款,查询等功能后退出银行卡。第3章程序功能的实现3.1 首界面设计配置好环境,编译程序,当程序运行后,首先看到的页面银行管理系统页面,它的运行效果图,如图2所示:图2银行管理系统首界面3.2 登录页面设计定义了文本框类的对象
6、tflztf2o主要是用于输入单行的文本;文本区调用PUbIiCStringgetTeXt()方法,获取用户想要的字符串。用来判断输入的密码和卡号是否正确,如果不正确的话,则弹出密码或卡号错误的警告框,并用dispose()关掉窗口。此模块相应的详细源代码见附录部分,部分代码如下:bol=BoxxreateVerticaIBox;boxl.add(newLabeI(请输入你的卡号);输入卡号boxl.add(Bo.createVerticalStrut(8);boxl.add(newLabeI(请输入你的密码”);输入密码3.3 选择服务模块设计在选择服务模块中,有各种ATM的服务功能,只要用
7、户在该界面中选择按钮,它就会弹出各个相应的界面。每一个按钮都有监听器,在选择了按钮后,java.awt.event中的ActionEvent类创建一个事件对象,并将它传递给方法publicvoidactionPerformed(ActionEvente)中的参数e,监视器就会知道所发生的事件,对此事件进行处理。其中的详细源代码请参见附录部分,部分代码如下:this.setLayout(null);this.setLayout(newGridLayout(G7I);p.add(newLabeK请选择你要的服务);this.add(p);3.4 取款模块设计在取款模块中,和其他的界面也是同样的结构
8、。也是有一个文本框和一个按钮还有标签组成的。用户在文本框中输入他想取的数额,但是必须是100的倍数,而且每一次最多只能取5000块。当然了取款的时候也不能超过卡里的余额,再就是卡里的余额不能为负,否则就会弹出报错的窗口。其方法的具体实现代码请参见附录部分,部分代码如下:if(money%100!=0)(money=5000)取钱数为100的倍数或不大于5000disposed;ErrorWarn6ew6=newErTorWarn6(消息!,zact);)act.seJBaIanCe(money);重置余额this.setVisible(false);3.5 修改密码模块设计在修改密码模块中,首
9、先你必须要输入你的旧密码是否正确,否则就会报错。再一个就是要两次输入你的新密码,且两次药匹配,否则也会报错,然后再重新回到修改密码的界面。在修改密码时用到的方法的具体实现代码请参见附录部分,部分代码如下:tf4=newTetField(6);tf5=newTetField(6);tf6=newTetField(6);3.6 退卡模块设计if(e.getSource()=butto4)il出System.eit(O);dispose();)第4章系统运行效果及存在问题4.1 系统运行效果进入系统按钮进入输入卡号页面,运行效果图,如图3所示:图3输入卡号界面输入卡号后,点击确定时系统会判断是否存在
10、此卡号,如果不存在此卡号,系统则会自动提醒用户此卡号不存在,请重新输入,如果输入的是正确的卡后,则进入输入密码界面,其运行效果图,如图4所示:图4输入密码界面输入不正确,则会提醒你密码不正确,请重新输入,当输入正确密码后,点击确定进入系统主界面,运行效果图,如图5所示:图5系统主界面界面在主界面中包含了6个主要功能,只要用户在该界面中选择按钮,它就会弹出各个相应的界面。当点击取款按钮时弹出取款界面,运行效果图,如图6所示:图6取款界面当点击余额查询界面时系统会自动帮助你检索你的当前账户还有多少钱,并且在查询完后会自动弹出友好界面,来显示你的当前余额,余额查询界面,运行效果图,如图7所示:图7帐
11、户余额查看界面在取款界面中,选择要取的金额,取出金额,并且会弹出取款成功界面,运行效果图,如图8所示:三银行管理系统操作信息擢示操作帐号:zhoulei操作类型:取款操作金额:100.0帐号余额:2377.3496返回退出图8取款成功界面在选择服务界面,点击转账功能按钮之后,则会弹出转账界面,运行效果图,如图9所示:银行管理系统Q0转帐操作请输入转入崛尸;IaMin请输入转帐金颜;i确定返回退出图9转帐操作界面在选择服务界面,点击修改密码功能按钮,则会弹出修改密码界面,运行效果图,如图10所示:=银行管理系统修改密码诘输入原密码:|*请输入新密码:I*请确认新密码:*l确定返回退出图10修改密
12、码界面经过测试,所有的功能基本上都实现了,而且运行正常。4.2 存在问题在此次课程设计中,我遇到了一些问题,如:对于面向对象的方法了解不够透彻,运用到实际的软件开发中存在着困难;对于Java语言,只学习到了一些最基本的知识,这导致编写程序时经常出现一些语法错误。第5章程序部分代码5.1 登陆页面首窗口设计代码classWindowBoxextendsFrameimplementsActionListenerfBoxbaseBox,bolzbo2;TextFieIdtflztf2;Buttonbuttonl;Buttonbutton2;WindowBox(Strings)构造方法super(s)
13、;tfl=newTetField(6);tf2=newTetField(6);boxl=BoxxreateVerticaIBox;boxl.add(newLabeI(请输入你的卡号);输入卡号boxl.add(Bo.createVerticalStrut(8);boxl.add(newLabel(请输入你的密码”);输入密码bo2=Bo.createVerticalBo();bo2.add(tfl);/bo2.add(newTextFieId(IG);bo2.add(Bo.createVerticalStrut(8);bo2.add(tf2);/bo2.add(newTextField(16)
14、;baseBo=Box.createHorizontalBo();baseBo.add(bol);baseBo.add(Bo.createHorizontalStrut(10);baseBo.add(bo2);add(baseBo);buttonl=newBUtton(确定);力口入按钮buttonl.addActioListener(this);add(buttonl);button2=newBUttOr(退卡);退卡按钮button2.addActionListener(this);add(button2);setLayout(newFIowLayoutO);5.2 监听器设计代码this.addWindowListener(newWindowAdapter()publicvoidwindowClosing(WindowEvente)System,exit(0););setB。UndS(120,125,200,175);setVisible(true);publicvoidactionPerformed(ActionEvente)Accountact;Stringcard;Stringpwd;act=newAccount(000000,Devi