收藏 分享(赏)

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

上传人:精品资料 文档编号:9793337 上传时间:2019-09-04 格式:DOC 页数:19 大小:251.50KB
下载 相关 举报
ATM程序java实现(客户端+服务器).doc_第1页
第1页 / 共19页
ATM程序java实现(客户端+服务器).doc_第2页
第2页 / 共19页
ATM程序java实现(客户端+服务器).doc_第3页
第3页 / 共19页
ATM程序java实现(客户端+服务器).doc_第4页
第4页 / 共19页
ATM程序java实现(客户端+服务器).doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

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营业执照举报