ATM自动取款机模拟系统.docx
课程设计报告设计名称:可视化程序设计实验课程设计选题名称:ATM自动取款机模拟系统姓名:*学号:专业班级:计算机科学与技术专业软件2班系(院):计算机系设计时间:设计地点:成绩:指导教师评语:签名:1.课程设计目的1加深对面向对象理论和基本知识的理解,掌握使用Java语言进行面向对象程序设计的基本方法,提高运用面向对象知识解决实际问题的能力;2 .初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3 .提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4 .训练用系统的观点和软件开发一般规范进行软件开发,巩固、深化学生的理论知识,提高编程水平,并在此过程中培养他们严谨的科学态度和良好的工作作风。2.课程设计说明书一.需求分析随着社会的进步,在人们的日常生活中,资金流动非常频繁。为了减轻银行工作人员的压力及负担,所以设计了ArM自动取款机,能通过机器进行一些简单的资金交易,既方便又快捷,在许多地方都按防了自动取款机器。取款机里包涵了取款、存款、转账、查询、修改密码等功能,系统模块如图所示。二.概要设计根据对ATM取款机的分析,可以分为选择操作、取款、查询、存款、转账。1取款模块取款模块,进入此模块,必须取IOO的整数倍且小于余额总数。输入原密码4.存款模块5.转账模块转账模块,进入此模块,就可以进行转账,先输入对方账号必须是8位数,在输入转出金额,转出三、源代码清单(部分)packageYan;importjava.uti1.Scanner;pub1icc1assAtm)Stringzqy_name;/账户名intzqy_number;/帐号intzqy_qitahao;/转账用的帐号intzqy_pass;/用户密码doub1ezqy_yue;/用户余额doub1ezqy_qu;/用户要取出的金额doub1ezqy_cun;/用户要存入的金额doub1ezqy_a11=0;/用户取出的总额intzqy_a;/键盘输入要选择的操作intzqyj;/控制输入密码次数的变量Scannerinput=newScanner(SystemJn);Atm(Stringa,intb,intc,doub1ed)/初始化持卡人信息zqy_name=a;zqynumber=b;Zqy_PaSS=c;zqy_yue=d;)pub1icvoidzqy_inputpass()throwsException/输入密下马for(zqy_i=1;zqy_i<=3;zqy-i÷÷)SyStem.out.print1n("注意:请输入数字,否则可能会引起乱码!");SyStem.out.print1n("请输入密码:”);intmima=input.next1nt();if(mima>=100000&&mima<=999999)if(mima=zqy_pass)if(mima=123456)SyStemQutprint1n("密码为初始密码,建议修改密码。”);)zqy_we1come();e1seSyStem.out.print1n("您输入的密码有误,请重新输入:”);continue;)e1seSyStem.out.print1n("密码的长度为6位,请重新输入:”);continue;)SyStem.out.print1n("对不起,您已超过输入次数,请带身份证到柜台办理相关手续!)pub1icvoidzqy_we1come()/欢迎界面System.out.print1n("请选择您要进行的操作:n1、取款W2、查询n3、修改密码n4、存款W5、转账W6、退出");zqy_a=input.next1nt();switch(zqy_a)zqy_get();break;zqy_refer();break;zqy_change();break;zqy_cun();break;zqy_zhuan();break;zqy_exit();break;)pub1icvoidzqy_choose()/选择是否继续SyStem.out.print1n("您是否继续进行其他操作?1(继续)/2(退出)");zqy_a=input.next1nt();if(zqy_a=1)zqy_we1come();e1seif(zqy_a=2)zqy_exit();)pub1icvoidzqy_get()/取款SyStem.out.rint1n("请输入您要取的金额:");zqy_qu=input.nextDoub1e();if(zqy_qu<zqy_yue)if(zqy_qu%100=0)if(zqy_qu<=2500)zqy_a11=zqy_a11+zqy_qu;if(zqy_a11<=5000)zQY-Yue=zqy_yue-zqy_qu;SyStem.out.print1n("交易完成您的余额为"+zqy_yue);zqy-choose();e1seSyStem.out.print1n("您今日交易的数额超过5000,无法再次交易!");zqy-choose();)e1seSyStem.out.print1n("本次交易超过最大限额2500!");zqy.choose();)e1seSyStem.OU1print1n(”请输入100的整数!");Zqyget();)e1seSyStem.out.print1n("您卡上的余额不足!”);zqy_choose();pub1icvoidzqy_refer()/查询SyStem.out.print1n("您的帐号:,'+zqy_number);SyStem.out.print1n("您的帐户名:"+zqy_name);SyStem.outprint1n("您的余额:”+zqy_yue);zqy_choose();)pub1icvoidzqy_change()修改密码SyStem.Ou1print1nC请输入您的原密码:");intzqy_mi=input.next1nt();if(zqy_mi=zqy_pass)SyStem.out.print1n("请输入您的新密码:");intzqy_xin=input.next1nt();if(zqy_xin>=100000&&zqy_xin<=999999)SyStem.out.rim1n("请再次输入您的新密码:”);intzqy_chong=input.next1nt();if(zqy_xin=zqy_chong)Zqy_PaSS=zqy_xin;System.out.print1n("修改成功!,);zqy_choose();e1seSyStem.out.print1n("两次输入的密码不一致!");zqy_change();)e1seSyStem.out.print1n(”请输入6位的密码");zqy_change();)e1seSyStem.out.print1n("请输入正确的密码”);zqy_change();PUb1iCVoidzqycun()存款SyStem.out.print1n("请输入您要存入的金额:”);zqy_cun=input.next1nt();if(zqy_cun%100=0)zqy_yue=zqy_yue+zqy_cun;System.out.print1n("存款成功!");SyStem.out.print1n("您的余额为:"+zqy_yue);zqy.choose();e1seSyStem.out.print1n(”请输入100的整数!");zqy_cun();)pub1icvoidzqy_zhuan()转账SyStem.out.print1n(”请输入转入帐号:");zqy_qitahao=input.next1nt();if(zqy_qitahao>=10000000&&zqy_qitahao<=99999999)SyStem.out.print1n(”请输入转入金额:");ZQy.cun=input.next1nt();if(zqy_cun<zqy_yue)zQY-Yue-zqy_yue-zqy_cun;System.out.print1n("交易成功!");SyStem.out.rint1n("您的余额为:"+zqy_yue);zqy.choose();e1seSyStem.out.print1n("您的余额不足,请重新选择!");zqy-choose();)e1seSyStem.OU1print1nC帐号长度为8位!”);ZQy.zhuan();pub1icvoidzqy_exit()/退出界面System.out.print1n("谢谢使用!");System.exit(1);4.课程设计成果1)输入密码注意:请输入数字,否则可能会弓I起乱码!请输入密码:12345密码的长度为6位,请重新输入::请输入数字,否则可能会引起乱码!入密码:1234567密码的长度为6位,请重新输入:注意:请输入数字,否则可能会引起乱码!请输入密码:1234568密码的长度为6位,请重新输入:对不起,您已超过输入次数,请带身份证到柜台办理相关手续!I2)进入主界面进行选择请选择您要进行的操作:1、取款2、查询3、修改密码4、存款5、S6、退出3)取款请选择您要进行的操作:1、取款2、蓬询3、修改密码4、存款5、转账6、退出请输入您要取的金颉:120请输入IOO的整数!请输入您要喷金额:ROOO交易完成您的余颉为80000您甚否雉发进行其他操作?1(维埃)/2(退出)请选撵您要进行的操作:1、取款2、查询3、再改密码4、存款5、转账6、退出1请输入您要取的金颉:2600本次交易超过最大限S500!您呈否第续讲行其他婚作?1(第续)/2(诅出)请选择您要进行的操作:Is取款2、查询3、修改密码4、存款5、转旅胡雷请输入您要取的金额:2000您今日交易的数额超过50。0,无法再次交易!您是否维续进行其他操作?1(维续)/2(退出)4)查询余额您戛否舞姨进行其他操作?1(继续)/2(退出)1取款查询修改密码存款转账退出1、2、3、4、5、6、请选择您要进行的操作:您的帐号:25544447您的帐户名:小强您的余额:9900.0您是否继续进行其他操作?1(维埃)/2(退出)5)修改密码您是否继续进行其他操作?1(维续)/2(退出)请选择您要进行的操作:1、取款2、查询3、修改密码4、存款5、转账6、退出3请输入您的原密码:12345请输入正确的密码请输入您