实验报告附源代码(Java程序设计)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

计算机系上机实验报告1计算机系课程大作业实验报告实验项目名称银行ATM系统的设计与实现所属课程名称Java程序设计实验类型综合设计姓名提交时间2012-5-10班级学号成绩计算机实验室计算机系上机实验报告2实验概述:【实验目的】学习使用JAVA技术设计与实现软件的基本过程和技术。通过实现,巩固JAVA基础知识,掌握在实践中解决问题的方法,提升JAVA实践编程能力。【实验环境】(使用的软件)Eclipse开发环境,officeWord软件。实验内容(不够附页):【实验方案设计与实验过程】题目:银行业务ATM设计与实现处理简单帐户存取款、查询。要求:模拟ATM的界面,用户能取款、查询、存款。数据存放在文件中。(界面、具体功能自定)涉及:界面设计、文件输入输出流读、写。系统需求分析1、功能需求分析本ATM柜员机的主要功能如下所述:要求使用图形用户界面。当输入给定的卡号和密码(卡号为123456和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:查询余额:初始余额为0元,存款后余额为本金加利息。ATM存款:每次存款金额为100的倍数,总额不超过5000元,金额不为负数。ATM取款:每次取款金额为100的倍数,总额不超过5000元,金额不允许透支。查询利率:可查询利率。2、其他需求分析(1)性能描述实时性好、灵活性强、易于不同年龄阶段的人操作。(2)设计约束能实现用户所定义的各项需求。系统设计1、总体设计我所设计的ATM柜员机主要是由登录页面模块还由选择服务模块组成,其中选择服务模块又由取款模块、查询余额模块、修改密码模块、退卡模块组成。其功能结构图如下所示:计算机系上机实验报告3图1ATM功能结构示意图2、ATM柜员机界面设计我觉得一个系统的界面应该要简单明了,当然样式美观就更好了。我设计的界面主要是由窗体组成,操作简单。而每一个窗口则执行相应的功能。一个系统界面的好坏直接影响到用户的操作,界面设计要求样式美观、简单明了、方便易操作。我设计的界面主要分为窗体、菜单、文本输入框几个部分,分别执行相应的操作。(1)窗体的主要结构的设计我所设计的窗口的主要结构的特点就是每个窗口都对应着一个特定的功能。比如说报错,还有各种查询余额、存款、取款、查询利率、选择服务等功能,所以它们都是由各种选择和文本框组成的。所以整个设计就趋向简单化了。(2)各功能模块设计1登陆页面模块设计与ATM柜员机打交道比较多的,也是大家对安全比较关心的问题:密码。所以第一个界面就是要输入密码和卡号才能继续服务。我定义了文本框累的对象cardNum,password。判断输入的密码和卡号是否正确,如果不正确的话,则弹出密码或卡号错误的警告框,并用break跳出窗口,返回登陆界面。此模块相应的部分源代码为:str1=JOptionPane.showInputDialog(账号:+\n);//输入个人信息cardNum1=Integer.parseInt(str1);str2=JOptionPane.showInputDialog(密码:+\n);//输入个人信息password1=Integer.parseInt(str2);if((cardNum1==cardNum)&&(password1==password))break;elseif((cardNum1!=cardNum)||(password1!=password)){JOptionPane.showMessageDialog(null,错误!请重输);str1=JOptionPane.showInputDialog(账号:+\n);//读入数据cardNum1=Integer.parseInt(str1);str2=JOptionPane.showInputDialog(密码:+\n);//读入数据password1=Integer.parseInt(str2);if((cardNum1!=cardNum)&&(password1!=password)){JOptionPane.showMessageDialog(null,两次输入错误!请退出!!+\n+登陆界面模块选择服务模块查询余额模块存款模块取款模块查询利率模块退出模块计算机系上机实验报告4卡被吞!);System.exit(0);}elseSystem.exit(0);}elseSystem.exit(0);}2选择服务模块设计在选择服务模块中,有各种ATM的服务功能,只要用户在该界面中选择,它就会弹出各个相应的界面。主要代码如下:StringinputChoise=JOptionPane.showInputDialog(\t请输入您选择的项目代号:\n+\t\t1查询余额\n+\t\t2存款\n+\t\t3取款\n+\t\t4利率\n+\t\t5退出);choise=Integer.parseInt(inputChoise);3查询余额模块设计在查询余额模块中,会出现一个显示所剩余额的对话框。余额是由本金和利息的和。主要代码如下:cash=cash+cash*rate;JOptionPane.showMessageDialog(null,您的余额:+cash);break;4存款模块设计在存款模块中,和其他的界面是同样的结构。也是有一个文本框和选择组成的。用户在文本框中输入他想存的数额,但是必须是100的倍数,而且每一次最多只能存5000块。否则就会弹出报错的窗口。主要代码如下:Stringin=JOptionPane.showInputDialog(请在空白框内输入金额!\n+您要存款的金额是:);money=Integer.parseInt(in);if((money0)&&(money%100==0)){cash=cash+money;JOptionPane.showMessageDialog(null,存款成功!!);JOptionPane.showMessageDialog(null,您的余额是:+cash);}elseJOptionPane.showMessageDialog(null,您的输入金额非法!请重输--);try{FileWriterfw=newFileWriter(d:\\atm.txt,true);PrintWriterout=newPrintWriter(fw);out.println(存款:+money);out.close();fw.close();}catch(IOExceptione){System.out.println(Writefileerror!);e.printStackTrace();计算机系上机实验报告5}break;5取款模块设计在取款模块中,和存款界面是同样的结构。也是有一个文本框和按钮组成的。用户在文本框中输入他想取的数额,但是必须是100的倍数,而且每一次最多只能取5000块。当然了取款的时候也不能超过卡里的余额,再就是卡里的余额不可以为负,否则就会弹出报错的窗口。主要代码如下:Stringout=JOptionPane.showInputDialog(请在空白框内输入金额!\n+您要取款的金额是:);money=Integer.parseInt(out);if((money0)&&(money%100==0)){cash=cash-money;JOptionPane.showMessageDialog(null,取款成功!!);JOptionPane.showMessageDialog(null,您的余额是:+cash);JOptionPane.showMessageDialog(null,请取回卡!);}if((money%100==0)&&(money=5000)&&(money=0)){cash=cash-money;JOptionPane.showMessageDialog(null,您的余额是:+cash);if(money0)JOptionPane.showMessageDialog(null,请取回现金!);}else{JOptionPane.showMessageDialog(null,您的输入金额非法!请重输--);str3=JOptionPane.showInputDialog(请输入金额:+\n);//读入数据money=Integer.parseInt(str3);if((money%100==0)&&(money=5000)&&(money=0)){cash=cash-money;JOptionPane.showMessageDialog(null,您的余额是:+cash);if(money0)JOptionPane.showMessageDialog(null,请取回现金!);}else{JOptionPane.showMessageDialog(null,卡被吞!);try{clock.sleep(2000);}catch(InterruptedExceptionie){System.err.println(Threaderror:+ie);}}}try{FileWriterfw=newFileWriter(d:\\atm.txt,true);PrintWriterou=newPrintWriter(fw);计算机系上机实验报告6ou.println(取款:+money);ou.close();fw.close();}catch(IOExceptione){System.out.println(Writefileerror!);e.printStackTrace();}break;6退卡模块设计在退卡模块设计中,这个方法就更加的简单了,它只是用了System.exit(0);7查询利率设计用户可查询利率,利率可在程序中修改,但不允许用户自己修改。JOptionPane.showMessageDialog(null,您的利率是:+rate);8文件设计存取款记录都可以在文件中体现。存款记录只要代码如下:try{FileWriterfw=newFileWriter(d:\\atm.txt,true);PrintWriterout=newPrintWriter(fw);out.println(存款:+money);out.close();fw.close();}catch(IOExceptione){System.out.println(Writefileerror!);e.printStackTrace();}取款代码与存款相似。实验步骤、测试数据及实验结果1.登陆界面(1)输入正确的帐号和密码(2)输入密码错误计算机系上机实验报告7如上再次输入错误,则出现如下界面。程序被退出。2.登陆正确进入选择界面3.输入选项1,出现查询余额界面4.输入选项2,出现存款界面(1)如输入不是整百的金额则不能存入金额计算机系上机实验报告8(2)输入整百的金额则存入5.存入金额后,查询余额为本金加利息6.输入选项3,出现取款界面(1)如输入不是整百的金额则不能取款(2)输入整百的金额则取款成功计算机系上机实验报告97.输入选项4,出现利率界面8.输入选项5,出现退出界面9.记录文件内容【实验小结】出错原因分析在此次课程设计中,我遇到了一些问题1.对于java语言了解不够透彻,运用到实际的软件开发中存在着困难,只学习到了一些最基本的知识,这导致编写程序时经常出现一些语法错误。经细心修改终于将程序改正完成。计算机系上机实验报告102.在短时间内用Java语言来设计一个具体的系统是一个较大的挑战。主要是对于正规开发一个系统的流程不熟悉,适应起来比较慢,编写各个模块相对应的操作时,自己感觉难以动手,这表明所学的知识不能灵活运用到实际中。只能大量阅读相关的书籍,对于书上以及网站上下载的资料中的Java实例加强理解,还有就是多跟精通此方面的老师和同学交流,取其精华。3.在加入文件的时候,文件中只能存放一行数据且每次记录都覆

1 / 14
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功