欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    《高级语言程序设计》课程设计报告-- JAVA程序课程设计.docx

    • 资源ID:901433       资源大小:97.59KB        全文页数:21页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    《高级语言程序设计》课程设计报告-- JAVA程序课程设计.docx

    高级语言程序设计课程设计报告课题名称: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主函数设计代码错误!未定义书签。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取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支;3、修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码;4、要求数据采用文件存储,如果界面实现采用了GUI,则酌情加分。第2章设计概要2.1 系统功能模块划分本系统主要包括登陆模块设计,选择服务模块设计,取款模块设计,修改密码模块设计,退卡模块设计等几个功能模块。其中,(D登陆模块设计:与ATM柜员机打交道比较多的,也是大家对安全比较关心的问题:密码。所以第一个界面就是要输入密码和卡号才能继续服务。(2)选择服务模块设计:在选择服务模块中,有各种ATM的服务功能,只要用户在该界面中选择按钮,它就会弹出各个相应的界面。(3)取款模块设计:在取款模块中,和其他的界面也是同样的结构。也是有一个文本框和一个按钮还有标签组成的,实现用户取款的服务。(4)修改密码模块设计:在修改密码模块中,首先你必须要输入你的旧密码是否正确,否则就会报错。再一个就是要两次输入你的新密码,且两次要匹配,否则也会报错,然后再重新回到修改密码的界面。(5)退卡模块设计:此功能非常简单,仅仅是实现弹出卡的功能。2.2 ATM取款机系统功能结构图总体设计中最核心的问题是系统总体功能结构的确定和子系统与模块的划分,结构化。ATM取款机系统功能结构图,如图1所示:取款模块查询余额模块修改密码模块退卡模块图1ATM取款机系统功能结构图该ATM取款机系统各个部分负责的主要业务如下:(1)登陆页面模块,对取款者进行身份验证。(2)选择服务模块,包括取款,余额查询,转帐,修改密码,退出等功能模块。取款模块,实现取款的具体操作。(4)查询余额模块,查看当前登陆人员的余额。(5)修改密码模块,可以方便的实现当前登陆人员对自己的密码进行修改。(6)退卡模块,完成取款,查询等功能后退出银行卡。第3章程序功能的实现3.1 首界面设计配置好环境,编译程序,当程序运行后,首先看到的页面银行管理系统页面,它的运行效果图,如图2所示:图2银行管理系统首界面3.2 登录页面设计定义了文本框类的对象tflztf2o主要是用于输入单行的文本;文本区调用PUbIiCStringgetTeXt()方法,获取用户想要的字符串。用来判断输入的密码和卡号是否正确,如果不正确的话,则弹出密码或卡号错误的警告框,并用dispose()关掉窗口。此模块相应的详细源代码见附录部分,部分代码如下:bo×l=BoxxreateVerticaIBox;boxl.add(newLabeI("请输入你的卡号");输入卡号boxl.add(Bo×.createVerticalStrut(8);boxl.add(newLabeI("请输入你的密码”);输入密码3.3 选择服务模块设计在选择服务模块中,有各种ATM的服务功能,只要用户在该界面中选择按钮,它就会弹出各个相应的界面。每一个按钮都有监听器,在选择了按钮后,java.awt.event中的ActionEvent类创建一个事件对象,并将它传递给方法publicvoidactionPerformed(ActionEvente)中的参数e,监视器就会知道所发生的事件,对此事件进行处理。其中的详细源代码请参见附录部分,部分代码如下:this.setLayout(null);this.setLayout(newGridLayout(G7I);p.add(newLabeK"请选择你要的服务");this.add(p);3.4 取款模块设计在取款模块中,和其他的界面也是同样的结构。也是有一个文本框和一个按钮还有标签组成的。用户在文本框中输入他想取的数额,但是必须是100的倍数,而且每一次最多只能取5000块。当然了取款的时候也不能超过卡里的余额,再就是卡里的余额不能为负,否则就会弹出报错的窗口。其方法的具体实现代码请参见附录部分,部分代码如下:if(money%100!=0)(money>=5000)取钱数为100的倍数或不大于5000disposed;ErrorWarn6ew6=newErTorWarn6("消息!,zact);)act.seJBaIanCe(money);重置余额this.setVisible(false);3.5 修改密码模块设计在修改密码模块中,首先你必须要输入你的旧密码是否正确,否则就会报错。再一个就是要两次输入你的新密码,且两次药匹配,否则也会报错,然后再重新回到修改密码的界面。在修改密码时用到的方法的具体实现代码请参见附录部分,部分代码如下:tf4=newTe×tField(6);tf5=newTe×tField(6);tf6=newTe×tField(6);3.6 退卡模块设计if(e.getSource()=butto4)il出System.e×it(O);dispose();)第4章系统运行效果及存在问题4.1 系统运行效果进入系统按钮进入输入卡号页面,运行效果图,如图3所示:图3输入卡号界面输入卡号后,点击确定时系统会判断是否存在此卡号,如果不存在此卡号,系统则会自动提醒用户此卡号不存在,请重新输入,如果输入的是正确的卡后,则进入输入密码界面,其运行效果图,如图4所示:图4输入密码界面输入不正确,则会提醒你密码不正确,请重新输入,当输入正确密码后,点击确定进入系统主界面,运行效果图,如图5所示:图5系统主界面界面在主界面中包含了6个主要功能,只要用户在该界面中选择按钮,它就会弹出各个相应的界面。当点击取款按钮时弹出取款界面,运行效果图,如图6所示:图6取款界面当点击余额查询界面时系统会自动帮助你检索你的当前账户还有多少钱,并且在查询完后会自动弹出友好界面,来显示你的当前余额,余额查询界面,运行效果图,如图7所示:图7帐户余额查看界面在取款界面中,选择要取的金额,取出金额,并且会弹出取款成功界面,运行效果图,如图8所示:三银行管理系统操作信息擢示操作帐号:zhoulei操作类型:取款操作金额:100.0帐号余额:2377.3496返回退出图8取款成功界面在选择服务界面,点击转账功能按钮之后,则会弹出转账界面,运行效果图,如图9所示:银行管理系统Q0®转帐操作请输入转入崛尸;IaMin请输入转帐金颜;i确定返回退出图9转帐操作界面在选择服务界面,点击修改密码功能按钮,则会弹出修改密码界面,运行效果图,如图10所示:=银行管理系统修改密码诘输入原密码:|*请输入新密码:I*请确认新密码:*l确定返回退出图10修改密码界面经过测试,所有的功能基本上都实现了,而且运行正常。4.2 存在问题在此次课程设计中,我遇到了一些问题,如:对于面向对象的方法了解不够透彻,运用到实际的软件开发中存在着困难;对于Java语言,只学习到了一些最基本的知识,这导致编写程序时经常出现一些语法错误。第5章程序部分代码5.1 登陆页面首窗口设计代码classWindowBoxextendsFrameimplementsActionListenerfBoxbaseBox,bo×lzbo×2;TextFieIdtflztf2;Buttonbuttonl;Buttonbutton2;WindowBox(Strings)构造方法super(s);tfl=newTe×tField(6);tf2=newTe×tField(6);boxl=BoxxreateVerticaIBox;boxl.add(newLabeI("请输入你的卡号");输入卡号boxl.add(Bo×.createVerticalStrut(8);boxl.add(newLabel("请输入你的密码”);输入密码bo×2=Bo×.createVerticalBo×();bo×2.add(tfl);/bo×2.add(newTextFieId(IG);bo×2.add(Bo×.createVerticalStrut(8);bo×2.add(tf2);/bo×2.add(newTextField(16);baseBo×=Box.createHorizontalBo×();baseBo×.add(bo×l);baseBo×.add(Bo×.createHorizontalStrut(10);baseBo×.add(bo×2);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",Devil,7,123456,z50000)J½tt.5.3 选择各种服务设计代码if(e.getSource()=buttonl)Stringnumberl,number2;输入的两个卡号和密码的变量numberl=tfl.getTe×t();number2=tf2.getTe×t();/*判断两次输入的卡号和密码是否正确*/if(act.get_Code().equals(numberl)&&(act.get_Password().equals(number2)dispose();Selections=newSeleCtion("选择服务",act);elsedispose();ErrorWarnew=newErrOrWarr("消息!",act);报输入密码或卡号不正确)if(e.getSource()=button2)System.exit(0);dispose。;退出)5.4 主函数设计代码classATMpublicstaticvoidmain(Stringargs)newWjndOWBOx("登录页面,)5.5 选择服务设计代码importjava.awt.*;importjava.awt.event.*;classSelectionextendsFrameimplementsActionListenerfButtonbuttonlzbutton2,button3zbutton4,butto5;Panelpl=newPanel();Panelp2=newPanel();Panelp3=newPanel();Panelp4=newPanel();Panelp5=newPanel();Panelp=newPanel();Accountact;publicSelection()SeIectionfStrings,Accountact)super(s);this.act=act;this.setLayout(null);this.setLayout(newGridLayout(GzI);p.add(newLabe1("请选择你要的服务");this.add(p);5.6 各种服务功能设计代码buttonl=newBUtton("存款");pl.add(buttonl);this.add(pl);button2=newBUttOn("取款");p2.add(button2);this.add(p2);butto3=newBUtton("查询余额");p3.add(button3);this.add(p3);butto4=newBUtton("退出");p4.add(button4);this.add(p4);buttons=newBUttOn("修改密码”);p5.add(button5);this.add(p5);this.addWindowListener(newWindowAdapter()publicvoidwindowClosing(WindowEvente)System.e×it(O););button2.addActionListener(this);button3.addActionListener(this);butto4.addActionListener(this);buttons.addActioListener(this);setB。UndS(150,150,200,200);SetVisibIeftrue);validate);)publicvoidactionPerformed(ActionEvente)if(e.getSource()=button2)/取款dispose();GetBaIancegb=newGetBalance("取款",act);)if(e.getSource()=button3)/查询余额Queryq=newQUery("查询余额",act);dispose();)elseif(e.getSource()=button4)iS出System.e×it(O);dispose();)elseif(e.getSource()=button5)修改密码ChangePasswordcp=newChangePaSSWOrd("修改密码",act);disposed;)5.7 取款功能设计代码importjavax.swing.*;importjava.awt.*;importjava×.swing.border.*;importjava.awt.event.*;classGetBaIanceextendsFrameimplementsActionListenerfBoxbaseBox,bo×l,bo×2;Buttonbutton;TextFieIdtf;Accountact;GetBaIancefStringSzAccountact)构造函数super(s);this.act=act;button=newBUtton("确定");Panelpanel=newPanel();Panelpanell=newPanel();tf=newTe×tField(6);this.setLayout(newGridLayout(2zl);panell.add(newLabe1("请输入你想取钱的数目");panell.add(tf);panel.add(button);this.add(panell);this.add(panel);button.addActioListener(this);this.addWindowListener(newWindowAdapter()publicvoidwindowClosing(WindowEvente)System.e×it(O););setBounds(200z200,150z150);this.setVisible(true);)publicvoidactionPerformed(ActionEvente)/System.out.println(e.getActionCommand();doublemoney;money=Double.parseDouble(tf.getText().trim();if(e.getSource()=button)if(act.geJMoney()<0)判断余额是否为负disposed;ErrorWarn4ew4=newErrorWarn4("消息!,zact);)elseif(money<=act.geJMoney()取钱的数额不大于余额if(mOney%100!=0)(money>=5000)取钱数为100的倍数或不大于5000disposed;ErrorWarn6ew6=newErrOrWarn6("消息!"zact);)act.seJBaIanCe(money);重置余额this.setVisible(false);Selections=newSeleCtiOn("选择服务",act);返回选择服务窗口/disposed;elseif(money>act.geJMoney()判断取款数额是否大于余额disposed;ErrorWarnSev5=newErTorWarn5("消息!,zact);)publicstaticvoidmain(Stringargs)GetBaIancetest=newGetBalance("dfdf");GetBaIancegb=newGetBalance("取款");)5.8 修改密码设计代码importjava×.swing.*;importjava.awt.*;importjavax.swing.border.*;importjava.awt.event.*;classChangePasswordextendsFrameimplementsActionListenerfPanelpanell=newPanel();Panelpanel2=newPanel();Panelpanel3=newPanel();Panelpanel=newPanel();TextFieIdtf4,tf5,tf6;Buttonbutton;Accountact;ChangePasswordfStrings,Accountact)super(s);this.act=act;tf4=newTe×tField(6);tf5=newTe×tField(6);tf6=newTe×tField(6);button=newBUttOr("确定”);button.addActionListener(this);5.9 设定新密码设计代码panell.add(newLabeK"请输入你的旧密码:");panell.add(tf4);panel2.add(newLabe1("请输入你的新密码:");panel2.add(tf5);panel3.add(newLabel("请再次输入你的新密码");panel3.add(tf6);panel.add(button);this.add(panell);this.add(panel2);this.add(panel3);this.add(panel);setLayout(newGridLayout(4,l);setB。UndS(200,200,250,250);this.setVisible(true);5.10 窗口事件设计代码this.addWindowListener(newWindowAdapter()publicvoidwindowClosing(WindowEvente)System.e×it(O););)5.11 查询余额功能设计代码importjavax.swing.*;importjava.awt.*;importjavax.swing.border.*;importjava.awt.event.*;classQueryextendsFrameimplementsActionListenerfButtonbutton;Accountact;Query(Strings,Accountact)构造函数super(s);this.act=act;button=newBUttOr("确定");/TextFieIdtf=newTe×tField(6);Panelpanell=newPanel();Panelpanel=newPanel();panell.add(newLabel("你的余额为:"+act.geJMOney();查询余额的方法/panell.add(tf);button.addActionListener(this);panel.add(button);this.add(panel);this.add(panell);第6章总结这次的课程设计中,主要是运用JAVA语言来编写一个小的应用程序,当然还可以用其他的技术来辅助了。在这个小应用程序当中,我用了Java外还用了SWing控件。输入输出流等技术。由于以前学的不是很扎实,而且还有些知识我们都是没有学过的,这就要求我们去查相关的书籍,还有就是和同学之间的交流。正因为这样,才锻炼了我的自学的能力,还有就是加深了我对各个知识点的认识,并且提高了我对专业的学习的兴趣,为我以后的学习打下了基础。此外,我还感受到了面向对象语言的类库的强大的功能,掌握了运用JAVA中的类实现某些基本功能,并学会了自己查询使用类的方法,也就是要会用APl文档,为以后更好的学习面向对象语言奠定了基础。参考资料1张孝祥,JAVA就业培训教材M.北京:清华出版社2印昊,JAVA与面向对象程序设计M.北京:高等教育出版社3李尊朝,JAVA语言程序设计M.北京:中国铁道出版社4孙健.计算机周刊-CNKIJ.上海市:长江计算机(集团)公司主办

    注意事项

    本文(《高级语言程序设计》课程设计报告-- JAVA程序课程设计.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开