欢迎来到优知文库! | 帮助中心 分享价值,成长自我!
优知文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 优知文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    java课程设计--ATM模拟程序.docx

    • 资源ID:786416       资源大小:154.08KB        全文页数:17页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录
    二维码
    扫码关注公众号登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    java课程设计--ATM模拟程序.docx

    第1章课题概述11.1 课题的目的11.2 课题的要求11.2.1存取款的要求11.2.2修改密码的要求1第2章概要设计22.1整个程序的界面结构22.2各个界面的设计32.2.1登录界面32.2.2选择业务界面32.2.3修改密码界面42.2.4查询余额界面42.2.5取款界面52.2.6存款界面5第3章程序功能的实现63.1主界面的实现63.2业务界面的实现73.2.1选择业务界面实现73.2.2修改密码界面实现83.2.3查询余额界面实现103.2.4存取款界面实现10第4章调试及发现问题的解决12第5章程序测试及分析13第6章总结15参考文献16第1章课题概述本次java课程设计的题目是简单的ATM程序。1.1 课题的目的ATM柜员机在我们生活中随处可见,24小时为我们提供了存取款等业务,让我们的生活更加的便利,我需要做的就是将这样一个程序通过图形界面模拟现实生活中的ATM界面,并且也会提供一些已有的账号和密码,在登陆页面登陆,若密码与账号无误则会显示选择业务页面,会提供常见的功能,存取款,修改密码功能。这里就有文件存储与读取来记录账号和密码,以及余额,密码的改动,密码改动后将更新密码,这样就更接近现实生活中的程序,有很大的现实意义。1.2 课题的要求1.2.1 存取款的要求(1)查询余额:初始余额为100OO元;(2) ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支;(3) ATM存款:不能出现负存款;(4)余额变化要通过文件存储的形式保存下来,该账号对应的余额在程序下次启动时是更新后的数目;1.2.2修改密码的要求(1)修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码;(2)修改的新密码需要以文件存储方式更新,下次该账户登录需要使用修改的新密码;第2章概要设计2.1整个程序的界面结构根据课题要求,首先出现的是登陆界面,在确认账号密码无误后出现选择业务页面,再可以选择业务,并根据你选择的业务出现相应界面,每个界面都有程序退出键以及返回键返回登陆界面。下图是功能模块图:2.2各个界面的设计2.2.1登录界面第一个窗口的变量有JPanelimagePanel;ImageiconbackgroundJFrameframe1;JLabellbl,lb2,lb3,lb4;JTextFieldtextl;JPasswordFieldtext2;JPanelpane;JButtonbtl,bt2,bt3背景图片放在一个JLable中再将framel的背景设为透明,再将有背景图片的JLabIe放在Pane上,将Pane放在framel上达到背景的效果。窗口的其他组件在计算好坐标后就依次添加在pane上,这样第一个界面就已经设计好了2.2.2选择业务界面第二个界面的变量有JBUttOnbl,b2,b3,b4,b5,b6;利用在MainFrame中的构造方法,设置每一个JButton的位置,排列好了之后添加监听,在用户选择后显示相应的界面。2.2.3修改密码界面第三个界面的变量有JButtonbtnl,btn2,btn3;JLabellbel,lbe2,lbe3,cwl,cw2,cw3;JPasswordFieldtf1,tf2,tf3;在文本输入框的右方依次放置三个JLabe1,用于提示用户输入密码的规则,密码输入框的字符是以*表示,是不可见的。在密码修改全部符合规则才可以更新密码,返回到选择业务界面。2.2.4查询余额界面第四个界面的变量有JLabeIlabel;JLabeltt;JLabelttl;JButtonbbl,bb2;这个界面是一个查询的页面,用户无法修改余额,因此没有设置文本输入框,两个按键用户可以操作,可以返回选择业务界面或者退出程序。2.2.5取款界面第五个界面的变量有JLabelaa,bb,WW1;JTextFieldff;JPanelpp;JButtonqql,qq2,qq3;在这个界面用户需要输入的金额,输入的金额需要符合规则,是大于100且小于5000的100的整数,这一点也是很符合实际生活中的标准的。在这里设置了JOptionPane,来提示用户输入金额。2.26存款界面第六个界面的变量有JLabelwl,w2,w;JTextFieldf;JPanelp3;JButtonql,q2,q3;这个界面与第五个界面没有什么大的区别,只是文本不一样,提示的文字也不一样,在这里用户输入的金额耍求不能为负数,且为100的倍数,大于100小于5000o第3章程序功能的实现3.1主界面的实现在设置好界面的布局后,添加事件的监听,用数组的形式依次读取账号和密码,之所以用数组是以为,数组可以存储多个用户,这样就可以实现取款机的多用户使用了。在这些准备工作做好之后就是实现登录界面的功能。代码如下:publicvoidactionPerformed(ActionEvente)if(e.getSource()=btl)lb3.setText(,z,);lb4.setText(");textl.SetTeXt("");text2.setText(/,z,);elseif(e.getSource()=bt2)intflag=O;for(inti=O;i<zh.length;i+)if(textl.getText().equals(zhi)&&text2.getText().equals(password)flag=1;newFrame_2();frame1.disposeO;break;)flag=-1;if(flag=-1)textl.setText(z,z,);text2.SetTeXt("");lb3.setText(,z,);lb4.setText("账户不存在,请重新输入);return;elseif(e.getSource()=bt3)System,exit(O);)publicstaticvoidWriter()throwsIOExceptiontry(FileWriterf3=null;f3=newFileWriter(,d:Wpassword.txtzz);BufferedWriterff3=newBufferedWriter(f3);ff3.write(password);ff3.close();catch(FileNotFoundExceptione)e.PrintStackTrace();)publicstaticvoidWriterMoneyOthrowsIOExceptiontryFileWriterf3=null;f3二newFileWriter(z,d:count.txtz,);BufferedWriterff3=newBufferedWriter(f3);ff3.write(money+;ff3.close();catch(FileNotFoundExceptione)e.PrintStackTrace();)3.2业务界面的实现3.2.1选择业务界面实现选择业务界面主要是根据用户的选择显示相应的界面,用if-else判断并做出响应皆可。因此在选择业务界面的实现里只要是方法的调用。publicvoidactionPerformed(ActionEvente)if(e.getSource()=bl)newMoclifyPassword(this);elseif(e.getSource()=b2)newSearchMoney(this);elseif(e.getSource()=b3)newDrawMoney(this);elseif(e.getSource()=b4)newAddMoney(this);elseif(e.getSourceO=b5)System,exit(O);elseif(e.getSource()=b6)System,exit(O);3.2.2修改密码界面实现修改密码的实现主要是判断,在判断原密码是否错误,在判断新密码两次是否一致,以及新密码的要求,当符合所有的条件后才可以修改成功,并以写的方式写到存储密码的文件里,实现密码的刷新。publicvoidactionPerformed(ActionEvente)if(e.getSource()=btnl)/确认if(tf1.getText().equals(MainFrame.password)Strings=tf2.getText();if(s.matches(,0-96*)=true)if(s.equals(tf3.getText()intsum=O;charc=s.charAt(O);for(intj=O;j<s.IengthO;j+)if(s.charAt(j)=c)sum+;if(sum>=6)tf2.setText(”);tf3.SetTeXt("");cw1.setText();cw2.setText("请输入不重复的六位数!);cw3.setText(/,z,);return;elsecw1.setText();cw2.setText();MainFrame.password=s;try(MainFrame.WriterO;catch(IOExceptionel)el.PrintStackTrace();)cw3.SetTeXt("密码修改成功!);return;)elsecw1.setText("");cw3.setText(,z,);tf1.setText();tf2.SetTeXt("");tf3.SetTeXt();cw2.SetTeXt(两次输入的密码不一致!”);return;elsecw1.setText();cw2.setText(”);tf1.setText(/,z,);tf2.setText("");tf3.SetTCXt(");cw3.setText(”请输入六位数的密码!);return;)elsecwl.SetTeXt("原密码错误!);cw2.setTextC);cw3.setText(z,z,);tf1.SetTeXt("");tf2.setText(z,z,);tf3.setText();elseif(e.getSource()=btn2)dispose();elseif(e.getSource()=btn3)System,exit(0);)3.2.3查询余额界面实现查询余额的实现就是将在文件中读取的数目显示出来publicvoidactionPerformed(ActionEvente)if(e.getSource()=bbl)this,dispo

    注意事项

    本文(java课程设计--ATM模拟程序.docx)为本站会员(王**)主动上传,优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知优知文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 yzwku网站版权所有

    经营许可证编号:宁ICP备2022001189号-2

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知优知文库网,我们立即给予删除!

    收起
    展开