atm机《java语言程序设计》课程设计报告-学位论文.doc
《atm机《java语言程序设计》课程设计报告-学位论文.doc》由会员分享,可在线阅读,更多相关《atm机《java语言程序设计》课程设计报告-学位论文.doc(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、河南经贸职业学院信息管理系Java程序设计课程设计报告Java语言程序设计课程设计报告题 目: ATM机 班 级: 10信息一班 系 部: 信息管理系 专 业: 计算机应用技术 2011年 6 月 25 日ATM机设计报告目录1 概述21.1 问题分析21.2功能22 总体设计33 详细设计31.登录界面Client()类结构介绍:32.卡号生成界面AtmDemo()类结构介绍:33.功能界面Main()类结构介绍:44.存款的界面KeepMoney()和取款的界面GetMoney()结构介绍:45.修改密码界面Change()类结构介绍:57.查询余额界面Yuxia.java()类结构介绍:
2、54 实现51.运行环境52.运行情况抓图55 总结与体会66 参考文献77 附录: 程序清单71 概述1.1 问题分析模拟ATM机基本操作功能:存款、取款、余额查询、修改密码等;初始账户10000元;修改密码时必须修改两次,确认后才可使用;取款的款项和存款的款项必须是100的整倍数;1.2功能1)模拟ATM机实现当用户进入登陆页面后,用户需先点击银行开户按钮进行银行开户;2)进入银行开户页面之后,进行填写客户信息,系统会自动生成卡号,信息填写完整后系统会自动保存用户信息在生成的文件中,并返回登陆页面进行登录。3)登陆成功之后进入ATM机操作页面进行存款、取款、余额查询、修改密码,点击一个按钮
3、都会显示出对应的页面。2 总体设计1、Client()类第一个登陆页面主要包括:登陆账号按钮、银行开户按钮、重新登录按钮、退出系统按钮;2、AtmDemo()类第二个登陆页面主要进行用户资料填写主要包括:卡号、密码、确认密码、用户名、性别、存款金额标签;生成卡号、确认开户、取消开户按钮;3、Main()类第二个登陆页面主要设置安放按钮,主要包括:取款、存款、修改密码、查询余额、退出该界面按钮并对所有按钮进行监听;4、GetMoney()类第三个登陆页面主要进行取款设置主要包括:提款金额数目的数字按钮,当点击相应的按钮时,提取金额框内显示相应的取款金额;当提款的金额超出卡内总金额时,取款失败;5
4、、KeepMoney()类第四个登陆页面主要进行存款设置主要包括:存款金额数目的数字按钮,当点击相应的按钮时,存款金额框内显示相应的存款金额;6、Change()类第五个登陆页面主要进行密码修改的设置主要包括:设置“确认”“取消”“返回主页面”三个按钮;两次输入新的密码,当两次密码相同时点击“确认”按钮修改密码成功,第二次进行账户登录时使用修改后的密码7、Yuxia()类第六个登陆页面主要进行余额查询的设置主要包括:当点击“查看余额”按钮时查看存款、取款后卡内的总金额,显示在文本框内;当点击“返回主页面”时返回Main页面;8、Account()类主要保存文件的卡号,密码和账户金额,对进行数据
5、信息在不同的类内调用传递;3 详细设计1.登录界面Client()类结构介绍:主要包括:三个标签:“欢迎登录ATM机”,“卡号”,“密码”两个文本框:JTextField和JPasswordField四个按钮:“登陆账号”,“银行开户”,“重新登录”,“退出系统”对页面使用了空布局。对文本框进行监听,设置卡号只能为数字,且只能输入8位。设置密码框不为空。给四个按钮创建监听ActionListener,四个按钮实现的功能:登陆账号:第一次进入登录界面时,当点击“登录账户”弹出对话框:“请进行银行开户”。重新登录: 当点击“重新登录”按钮,用setText(“”)把文本框和密码框为空。 银行开户:
6、 当点击“银行开户”按钮时,界面跳到银行开户的界面里。 退出系统:当点击“退出系统”时,弹出对话框“确定要退出ATM系统?”点击是,退出系统,点击否,留在该界面。当银行开户成功后,再次输入卡号和密码,如果其中一个或全部错误,弹出对话框:“请核对你的卡号和密码,重新登录”,并不设置文本框为空。2.卡号生成界面AtmDemo()类结果介绍:继承Jframe创建银行卡号开户窗体,创建监听;应用空布局设置JLabel标签,JTextField, JPasswordField,JButton,JComboBox复选按钮框在窗体中的位置当点击“生成卡号”按钮时系统会自动生成卡号( inti=(int)(M
7、ath.random()*100000000);)对生成的卡号进行数据保存(account)由Account传递到登陆页面,让生成的卡号与登陆的卡号相同在登录页面进行登录操作;设置密码与确认密码框中的内容相等,如果不相同提示(“JOptionPane.showConfirmDialog(this,两次填写密码不同,请重新输入正确的密码!,提示,JOptionPane.OK_CANCEL_OPTION );”),对生成的密码进行数据保存(account)让后传递到ATMClient页面进行密码连接;设置存款金额框存款金额为100的整倍数;当点击“取消开户”按钮时,所有文本框内容为空;当点击“确认
8、开户”按钮时,如果资料填写不完整,系统进行提示(elseif(jtf1.getText().equals()|jtf2.getText().equals()|jtf3.getText().equals()|s3.equals()|s2.equals() JOptionPane.showMessageDialog(this,开户失败,资料没填写完整!);)反之,页面转到登陆页面;3.功能界面Main()类结构介绍:主要包括:一个标签:“荷塘月色ATM机正在为您服务”五个按钮:“取款”、“存款”、“查询余额”、“修改密码”、“退出该界面”对页面使用了空布局。对前四个按钮进行监听,当点击其中任一个按
9、钮时,进入到该按钮实现功能的界面里,当点击“退出该界面”,弹出对话框“确定返回登录面?” 点击是,退出该界面,点击否,留在该界面。4.存款的界面KeepMoney()和取款的界面GetMoney()结构介绍:主要包括:十个按钮:七个固定存取款钱数的按钮和一个“自定义”(存取款的钱数)按钮,还有“确定”按钮和“返回主页面”的按钮。一个标签:“您提取(存入)的金额数:一个文本框;对页面使用了空布局。给八个存取款的按钮进行监听。实现的功能:当点击七个固定存取款的按钮时,按钮上的钱数显示在文本框中,当点击自定义按钮时,可以在文本框中手动输入钱数。当点击“返回主页面”按钮时,结束该界面的操作,返回Mai
10、n页面里。文本框: 文本框设置为不可编辑。当点击存取款按钮时,钱数显示在文本框中,但不能手动修改文本框中的内容。当点击自定义按钮时,文本框可以手动输入,文本框中输入的存取款的钱数必须是100的倍数,最少为100,最多为5000元,否则弹出对话框进行提醒,存取钱不成功。 自定义一个监听类,对文本框进行监听,自定义输入钱数时,文本框中只能输入数字,且最多可输入四位数。当文本框为空时,点击“确定”按钮,弹出对话框:“请输入存(取)款金额”。在存款KeepMoney.java界面时,当点击“确定”按钮,弹出对话框“您已存款*元,余额为*元”。在取款GetMoney.java界面时,当点击“确定”按钮时
11、,如果账户金额大于或等于提取金额时,弹出对话框“您已取款*元,余额为*元”。如果账户金额小于提取金额时,弹出对话框“余额不足,取钱失败”,并获取余额数,停止金额的运算。以防止取款不成功,但已透支的现象。5. 修改密码界面Change()类结构介绍:继承JFrame创建修改密码窗体,设置窗体的空布局;对确认密码框进行监听和数据传递保存(account.setPwd(s2);)传递到Client()类内;当两次输入密码相同时点击“确认”按钮密码修改成功,下次登录使用新密码进行登录。;点击“取消”按钮文本框内容消失为空;点击“返回主页面”按钮返回至Main()(else if(e.getSource
12、()=jb3)new Main();this.setVisible(false););6.查询余额界面Yuxia.java()类结构介绍:创建查询余额窗体,应用空布局设置布局;对按钮创建监听(addActionListener) 当点击“查看余额”按钮时显示卡内当前的余额(运用Account类进行数据传递实现(jtf1.setText(account.getCountmoney()+);)4 实现1. 运行环境 MyEclipse6.52. 运行情况抓图 1 2 3 4 75 总结与体会此次实训基本把我们本学期所学的内容进行综合应用,让我们更加容易简单的了解体验到了未来工作的一般状况,锻炼了我
13、们的实际操作能力,同时也在一定程度上增加了同学们对Java语言学习的信心,一些简单的小游戏,通过运用自己所学也是可以实现的,让我们不在对编程感觉那么神秘。团队合作与交流很重要,“团结就是力量”在本次项目开发中真的体会得到,在做项目时,小组成员要知道本小组所做项目的基本构想框架,要做什么、实现什么。如果有自己的想法就要和自己的伙伴进行交流。6 参考文献【1】魏艳铭,Java程序设计,河南经贸职业学院:ATM机视频提示,2011.6【2】网络资源:http:/www.toedu.org/【3】Java程序设计精讲,北京:清华大学出版社,2010.97 附录:程序清单1.Client.java/AT
14、M机的登录界面package client;import javax.swing.*;import client.GetMoney.myKeyListener;import java.awt.*;import java.awt.event.*;import .URL;public class Client extends JFrame implements ActionListenerJLabel jl1,jl2,jl3;JLabel jl;/添加图片的标签JTextField jtf;JPasswordField jpf;JButton jb1,jb2,jb3,jb4; static Acc
15、ount account;public Client(Account account)super(ATM-Client);this.account=account;setLayout(null);jl1=new JLabel(欢迎进入“荷塘月色ATM 机”);Font f=new Font(华文新魏,Font.BOLD,24);jl1.setForeground(Color.BLUE);jl1.setFont(f);jl2=new JLabel(卡号:);jl3=new JLabel(密码:);jtf=new JTextField(8);jtf.addKeyListener(new myKey
16、Listener(jtf);jpf=new JPasswordField();jb1=new JButton(登陆账号);jb1.addActionListener(this);jb2=new JButton(银行开户);jb2.addActionListener(this);jb3=new JButton(重新登录);jb3.addActionListener(this);jb4=new JButton(退出系统);jb4.addActionListener(this); /添加图片 jl= new JLabel(); URL resource = this.getClass().getRe
17、source(/images/6.jpg); ImageIcon bgImage=new ImageIcon(resource); /创建图标 jl.setIcon(bgImage); jl.setBounds(0,0,400,400);jl1.setBounds(25, 40, 400, 40);jl2.setBounds(50, 85, 60, 40);jl3.setBounds(50, 150, 60, 40);jtf.setBounds(120, 90,150, 30);jpf.setBounds(120, 155,150,30);jb1.setBounds(0, 250, 90, 3
18、0);jb2.setBounds(100, 250, 90,30 );jb3.setBounds(200, 250, 90,30 );jb4.setBounds(300, 250, 90, 30);this.add(jl1);this.add(jl2);this.add(jtf); this.add(jl3);this.add(jpf);this.add(jb1);this.add(jb2);this.add(jb3);this.add(jb4);this.add(jl);this.setSize(400,400);this.setDefaultCloseOperation(JFrame.EX
19、IT_ON_CLOSE);this.setVisible(true);public static void main(String args) new Client(account);public void actionPerformed(ActionEvent e) if(e.getSource()=jb1)String s1=jtf.getText();String s2=new String(jpf.getPassword();if(account!=null)if(s1.equals(account.ip)&s2.equals(account.pwd)new Main(account)
20、;this.setVisible(false);elseJOptionPane.showMessageDialog(this,请核对您的卡号和密码,重新登录);else if(account=null)JOptionPane.showMessageDialog(this, 请进行银行开户);else if(e.getSource()=jb2)/连接到的AtmDemo.javanew AtmDemo();this.setVisible(false);else if(e.getSource()=jb3)jtf.setText();jpf.setText();else if(e.getSource(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java语言程序设计 atm java 语言程序设计 课程设计 报告 学位 论文
限制150内