ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:215.30KB ,
资源ID:5740846      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5740846.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(JavaATM自动取款机.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

JavaATM自动取款机.docx

1、JavaATM自动取款机Java课程设计报告项目: ATM自动取款机 姓名: 学号: 10592127 班级: 10级网络一班 分数: 角色姓名学号任务分配组长10592127数据库连接,主页代码,取款,查询,系统提示,和整理代码。 组员10592235欢迎界面,登陆界面,修改密码,退出界面项 目 说 明第一部分、项目整体概述页第二部分、数据库信息描述页第三部分、自己承担部分的实验报告页第四部分、心得体会页一、项目整体概述我们的ATN机系统设计的实现根据结构程序设计原理,将每个模块的功能用相应的标准语句表示出来。包括代码设计、数据库设计、用户界面设计、处理过程设计。代码设计是指把系统管理对象数

2、字化或字符化,便于计算机的处理。遵照代码设计的原则:合理性、简明性、系统性、稳定性、可扩充性、标准化、便于识别和记忆。数据库设计指对系统所采用的数据模式、子模式、应用程序、数据库等根据用户的具体要求进行分析和设计。它也是管理信息系统设计的重要组成部分。数据库设计的基本原则是尽可能提高数据组织的相对独立性,简化其结构,即用规范化方法设施数据存储的结构,提高数据的可维护性、完整性、一致性。通过收集和分析用户需求,确定了数据库要保存的信息。我们这次实训课设计的ATM机,主要应用java图形用户界面开发的知识,主要界面有欢迎界面,登陆界面,选择业务界面和退出,其中选择业务界面又包括修改密码,取款服务和

3、查询余额。能让人们通过我们的设计完成想要的操作。为人们带来方面。(1)模拟ATM柜员机程序;(2)欢迎界面点击Login(登录)跳到登陆界面,点击quit(退出)则退出。(3)登陆界面包括输入卡号和密码,不正确时则不能进入提示没有该用户名称或密码错误,请核对后重新输入。当密码和用户名都正确时则进入选择服务界面。(4)选择页面可以选择修改密码,查询余额,和取款3个服务。(2)修改密码。当用户需要修改密码时,可以用这个功能,新密码不能为空,确定密码时不能为空,旧密码必须正确,且新密码和确定密码两次输入相同的情况下才可以成功修改密码。(3)取款。用户根据自己需要取多少钱,点击自定义按钮输入要取的金额

4、,每次取款金额为大于0的数就可以了,但取款金额不允许透支。还可以点击按钮进行取款,如果选择的金额大于自己账户的金额则提示金额不足。(4)查询余额。用户需要知道自己账户还剩多少钱时,可以查询自己账户的余额。实验流程图如下:二、数据库信息描述建立的数据库是根据代码的完成建立的其数据库为ATM,表名为guest。在表中建立id字段其类型为自动编号,并设置其为主键,用户名字段为gid,密码字段为pwd,金额字段为gmoney。在表中分别输入我的和组员信息。金额类型为数字。建立好数据库知道连接到程序中运行即可。三、自己承担部分的实验报告连接数据库现在控制面板管理工具中建立数据源连接数据库代码为impor

5、t java.sql.*;import java.io.*;public class dataAccess private Connection conn; private Statement stmt; public dataAccess() /构造函数设置连接数据库 try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); String dburl =jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=Dataatm.mdb; conn=DriverManager.getConnection(db

6、url); stmt=conn.createStatement(); catch(Exception e1) System.out.println(e1.toString(); public ResultSet getData(String sqlstr)/返回查询的数据集 try ResultSet rs=this.stmt.executeQuery(sqlstr); return rs; catch(Exception e) System.out.println(e.toString(); return null; public int getRowcount(String sqlstr)

7、 int i=0; try ResultSet rs=this.getData(sqlstr); while(rs.next() i+; catch(Exception e) System.out.println(e.toString(); finally return i; public boolean exeSql(String sqlstr)/执行无返回的SQL语句 try stmt.execute(sqlstr); return true; catch(Exception e) System.out.println(e.toString(); return false; public

8、void sleep(int second) try Thread th=new Thread(); th.sleep(second*1000); catch(Exception e) System.out.println(e.toString(); protected void finalize()/析构函数 try if(stmt!=null) stmt.close(); if(conn!=null) conn.close(); catch(Exception e) 选择服务界面:它是由取款,查询金额,和修改密码构成点击按钮的时候跳到相应的界面有四个按钮分别布局于东西南北四个方向,选择服务

9、字放在中间。选择服务页面代码:public void showMenu() PnlMenu=new Panel(); GridLayout gdo3=new GridLayout(4,3,4,3); Label albl=new Label(请选择业务); /albl.setBackground(Color.green); albl.setAlignment(Label.CENTER); a1=new Button(1、取款服务); a2=new Button(2、查询余额); a3=new Button(3、修改密码); a4=new Button(4、退出); a1.addActionLi

10、stener(this); a3.addActionListener(this); a2.addActionListener(this); a4.addActionListener(this); PnlMenu.setLayout(gdo3); PnlMenu.add(albl); PnlMenu.add(a1); PnlMenu.add(a2); PnlMenu.add(a3); PnlMenu.add(a4); a1.setSize(200,200); a2.setSize(600,200); a3.setSize(200,200); a4.setSize(600,200); albl.s

11、etSize(200, 200); a1.setFont(new Font(楷体,Font.BOLD,18); a2.setFont(new Font(楷体,Font.BOLD,18); a3.setFont(new Font(楷体,Font.BOLD,18); a4.setFont(new Font(楷体,Font.BOLD,18); albl.setFont(new Font(楷体,Font.BOLD,24); albl.setForeground(Color.red); PnlMenu.setLayout(new BorderLayout(); PnlMenu.add(a1,Border

12、Layout.WEST); PnlMenu.add(a4,BorderLayout.SOUTH); PnlMenu.add(a2,BorderLayout.NORTH);PnlMenu.add(a3,BorderLayout.EAST);PnlMenu.add(albl,BorderLayout.CENTER); 用于点击按钮跳转到页面代码:if(e.getSource()=a1)/进入取款界面 clt.show(fram,Getmoney); return; if(e.getSource()=a2)/进入余额查看界面 float mleft=act.queryBalance(gid); lb

13、left.setText(帐号余额为:¥ +mleft); lbleft.setFont(new Font(楷体,Font.BOLD,15); clt.show(fram,Queryleft); return; if(e.getSource()=a3)/进入密码修改界面 clt.show(fram,Chgpwd); return; 取款页面可以根据想要去的金额去点击按钮取钱,也可以输入自定义金额取钱,但两种方法都不能透支。取款页面代码:public void showGetMoney() PnlGetmoney=new Panel(); GridLayout gdo4=new GridLayo

14、ut(4,2); PnlGetmoney.setLayout(new BorderLayout(); Label blbl=new Label(请选择取款金额); blbl.setFont(new Font(楷体,Font.BOLD,24); msg3=new Label(); p1=new Panel(); b1=new Button(100); b2=new Button(500); b3=new Button(1000);b4=new Button(3000); b5=new Button(5000);b6=new Button(自定义); b1.setFont(new Font(楷体,

15、Font.BOLD,15); b2.setFont(new Font(楷体,Font.BOLD,15); b3.setFont(new Font(楷体,Font.BOLD,15); b4.setFont(new Font(楷体,Font.BOLD,15); b5.setFont(new Font(楷体,Font.BOLD,15); b6.setFont(new Font(楷体,Font.BOLD,15); b1.addActionListener(this); b5.addActionListener(this); b2.addActionListener(this); b6.addActio

16、nListener(this); b3.addActionListener(this); b4.addActionListener(this); b7=new Button(返回); b7.setFont(new Font(楷体,Font.BOLD,15); b7.addActionListener(this); b8=new Button(退出); b8.setFont(new Font(楷体,Font.BOLD,15); b8.addActionListener(this); Panel bpnl1=new Panel(); bpnl1.add(blbl); Panel bpnl3=new

17、 Panel(); bpnl3.add(b7); bpnl3.add(b8); Panel bpnl2=new Panel(); bpnl2.setLayout(gdo4); bpnl2.add(b1); bpnl2.add(new Label(); bpnl2.add(b4); bpnl2.add(b2); bpnl2.add(msg3); bpnl2.add(b5); bpnl2.add(b3); bpnl2.add(new Label(); bpnl2.add(b6); bpnl2.add(new Label(); bpnl2.add(bpnl3); bpnl2.add(new Labe

18、l(); PnlGetmoney.add(bpnl1,BorderLayout.NORTH); PnlGetmoney.add(bpnl2,BorderLayout.CENTER); PnlGetmoney.add(bpnl3,BorderLayout.SOUTH); public boolean reduceMoney(String tgid,float money) String ssql; if(this.queryBalance(tgid)0)/手动输入金额操作 try gmoney=Float.parseFloat(ta.getText(); if(act.reduceMoney(g

19、id,gmoney) lblMsg.setText(mce.printBill(gmoney,gid,act.queryBalance(gid); nstate=3; else lblMsg.setText(余额不足!); lblMsg.setFont(new Font(楷体,Font.BOLD,15); nstate=3; catch(NumberFormatException e2)/输入非法的金额 lblMsg.setText(您输入的金额错误!); nstate=2; finally clt.show(fram,Msg); return; if(e.getSource()=a4 | e

20、.getSource()=b8 | e.getSource()=c2 | e.getSource()=d2 | e.getSource()=x1 | e.getSource()=y1 | e.getSource()=quit)/退出系统 this.gid=; this.pwd=; act.finalize(); dac.finalize(); rcd.exitCard(); 查询界面;public void showQueryLeft() PnlQueryleft=new Panel(); PnlQueryleft.setLayout(new BorderLayout(); Label clb

21、l=new Label(帐户余额); clbl.setFont(new Font(楷体,Font.BOLD,24); clbl.setAlignment(Label.CENTER); lbleft=new Label(); Panel cpnl1=new Panel(); cpnl1.add(lbleft); Panel cpnl2=new Panel(); c1=new Button(返回); c1.setFont(new Font(楷体,Font.BOLD,15); c1.addActionListener(this); c2=new Button(退出); c2.setFont(new

22、Font(楷体,Font.BOLD,15); c2.addActionListener(this); /cpnl2.add(edok);Button edok=new Button(确定); cpnl2.add(c1); cpnl2.add(c2); PnlQueryleft.add(clbl,BorderLayout.NORTH); PnlQueryleft.add(cpnl1,BorderLayout.CENTER); PnlQueryleft.add(cpnl2,BorderLayout.SOUTH); public float queryBalance(String gid) ResultSet rs; String ssql=select * from guest where gid=+gid+; float balance=0; try rs=das.getData(ssql); rs.next(); balance=rs.getFloat(gmoney); catch(Excepti

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1