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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(ATM程序java实现(客户端+服务器).doc)为本站会员(精品资料)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

ATM程序java实现(客户端+服务器).doc

1、dmjlsl 原创,仅供交流。如有疑问,或指点,请联系 QQ:403310405程序实现其实并不是很难,主要是思路,对程序的各个功能的设计,各个按钮的处理事件及按钮按照逻辑显示出来和隐藏。服务器采用多线程并行机制,针对每个用户登录创建一个线程。程序代码 客户端:import javax.swing.*;import .*;import java.io.*;import java.util.*;import java.awt.event.*;import java.awt.*;import java.sql.*;import java.math.*;import javax.swing.*;cl

2、ass ATMWindows extends JFrame implements ActionListenerFont f;Socket clint=null;DataOutputStream out=null;DataInputStream in=null;Connection con;Statement pre;ResultSet rs;int i,money;boolean b=true;/b 的取值有 0,1,共 2 个值分别告诉程序该吧数字键盘的输入复制给 username,password,String susername=null;String spassword=null;Bo

3、x box1,box2,box3,box11,box12;JPanel panel1,panel2;JLabel tishi;JTextField username;JPasswordField password;JButton n,queding,chaxun,qukuan,tuichu;ATMWindows(String s)GraphicsEnvironment ge=GraphicsEnvironment.getLocalGraphicsEnvironment();String t=ge.getAvailableFontFamilyNames();dmjlsl 原创,仅供交流。如有疑问

4、,或指点,请联系 QQ:403310405f=new Font(t67,Font.BOLD,16);n=new JButton10;box1=Box.createVerticalBox();box2=Box.createHorizontalBox();box3=Box.createVerticalBox();panel1=new JPanel();panel2=new JPanel();tishi=new JLabel(“欢迎使用 XX 银行!请输入卡号。“);tishi.setFont(f);username=new JTextField(20);password=new JPassword

5、Field(20);panel1.setLayout(new GridLayout(3,3);panel2.setLayout(new GridLayout(4,1);for(i=1;i=0money=in.readInt();if(money=0)tishi.setText(“登陆成功,您当前余额为:“+money);chaxun.show(false);qukuan.show(true);box1.remove(password);box1.validate();return;else if(money=-1)tishi.setText(“卡号错误请从新输入卡号和密码“);susernam

6、e=null;spassword=null;box1.remove(password);box1.add(username);box1.validate();password.setText(null);username.setText(null);queding.show(true);chaxun.show(false);dmjlsl 原创,仅供交流。如有疑问,或指点,请联系 QQ:403310405validate();return;else if(money=-2)tishi.setText(“密码错误请从新输入密码!“);spassword=null;password.setText(

7、null);chaxun.show(false);queding.show(true);b=false;/用户输入密码错误,数字键盘输入到 passwordreturn;elsetishi.setText(“抱歉!服务器错误,暂停服务。“);queding.show(true);susername=null;spassword=null;box1.remove(password);box1.add(username);box1.validate();username.setText(null);chaxun.show(false);return;catch(IOException e1)Sys

8、tem.out.println(e1);elsefor(i=0;i=0)/用户账号和密码正确,登陆成功,等待取款while(true)money=in.readInt();if(money=0)/客户端输入大于等于 0 时,准备取款,update 数据库db.connect();money=db.select(susername,spassword)-money;if(db.update(money,susername)0)/数据库 update成功,返回操作后的余额给客户端dmjlsl 原创,仅供交流。如有疑问,或指点,请联系 QQ:403310405System.out.println(“

9、数据库 update 成功,返回操作后的余额给客户端“);out.writeInt(db.select(susername,spassword);else/数据库 update 失败,返回当前余额给客户端out.writeInt(db.select(susername,spassword);db.close();else if(money=-1)/用户已在客户端退出db.close();System.out.println(“此用户已经退出终端,线程自动结束。“);break;else if(b=-3)db.close();System.out.println(“数据库错误,用户登陆失败,自动

10、关闭连接线程“);else /用户验证失败db.close();System.out.println(“账号或者密码错误,用户登陆失败,自动关闭连接线程“);elseout.writeInt(-3);/用-3 表示数据库连接失败,通知客户端暂停使用catch(IOException e)dmjlsl 原创,仅供交流。如有疑问,或指点,请联系 QQ:403310405System.out.println(e);class DBConnection con;PreparedStatement pre;ResultSet rs=null;String sql=null;DB()public int

11、connect()tryClass.forName(“sun.jdbc.odbc.JdbcOdbcDriver“);catch(ClassNotFoundException e)System.out.println(“+e);return 0;trycon=DriverManager.getConnection(“jdbc:odbc:user“,“,“);System.out.println(“数据库连接成功“);return 1;catch(SQLException e)System.out.println(e);return 0;dmjlsl 原创,仅供交流。如有疑问,或指点,请联系 QQ

12、:403310405public int select(String susername,String spassword)trypre=con.prepareStatement(“SELECT * FROM user WHERE username=?“);pre.setString(1,susername);rs=pre.executeQuery();while(rs.next()if(spassword.equals(rs.getString(3)return rs.getInt(“usermoney“);/密码正确,返回余额给客户端elsereturn -2;/用-2 表示密码错误cat

13、ch(SQLException e)System.out.println(e);return -3;/数据库错误,return -1;/用-1 表示账号错误public int update(int money,String susername)trySimpleDateFormat matter1=new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss“);pre=con.prepareStatement(“UPDATE user SET usermoney=?,operateDate=? WHERE username=?“);pre.setInt(1,money

14、);pre.setString(2,matter1.format(new Date();pre.setString(3,susername);int i=pre.executeUpdate();System.out.println(“用户取款,修改数据库成功“);return i;/修改数据库成功,返回操作影响的记录数dmjlsl 原创,仅供交流。如有疑问,或指点,请联系 QQ:403310405catch(SQLException e)System.out.println(e);return 0;/修改数据库错误,返回操作影响的记录数public void close()trycon.close();System.out.println(“关闭数据库连接成功!“);catch(SQLException e)System.out.println(e);(2)运行结果dmjlsl 原创,仅供交流。如有疑问,或指点,请联系 QQ:403310405dmjlsl 原创,仅供交流。如有疑问,或指点,请联系 QQ:403310405dmjlsl 原创,仅供交流。如有疑问,或指点,请联系 QQ:403310405dmjlsl 原创,仅供交流。如有疑问,或指点,请联系 QQ:403310405

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报