收藏 分销(赏)

课程设计-ATM柜员机模拟程序.doc

上传人:精**** 文档编号:1815936 上传时间:2024-05-09 格式:DOC 页数:28 大小:591KB 下载积分:10 金币
下载 相关 举报
课程设计-ATM柜员机模拟程序.doc_第1页
第1页 / 共28页
课程设计-ATM柜员机模拟程序.doc_第2页
第2页 / 共28页


点击查看更多>>
资源描述
软 件 学 院 课程设计报告书 课程名称      面向对象程序设计     设计题目         ATM柜员机模拟程序       专业班级      软件工程      学 号              姓  名               指导教师      刘腊梅             2015年  月 目录 1 设计时间ﻩ1 2 设计目得ﻩ1 3 设计题目ﻩ1 4 设计任务 1 5 设计内容ﻩ1 5、1  kehu类代码ﻩ1 5、2  ATM主界面模块设计 2 5、3 选择页面模块设计ﻩ5 5、4 存款模块设计 8 5、5 取款模块设计ﻩ11 5、6 查询余额模块设计 16 5、7 修改密码模块设计 18 6 总结与展望 23 参考文献ﻩ24 成绩评定 24 1 设计时间 2015 年 月 2 设计目得 掌握图形用户界面设计方法,掌握常用swing组件得使用与事件处理程序设计、 3 设计题目 ATM柜员机模拟程序 4 设计任务 使用图形用户界面。当输入给定得卡号与密码(初始卡号与密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行: (1)查询余额功能:初始余额为10000元 (2)ATM取款功能:每次取款金额为100得倍数,总额不超过5000元,支取金额不允许透支。 (3)ATM存款功能:不能出现负存款。 (4)修改密码:新密码长度不小于6位,不允许出现6位完全相同得情况,只有旧密码正确,新密码符合要求,且两次输入相同得情况下才可以成功修改密码。 5 设计内容   5、1 kehu类代码 import javax、swing、*; import javax、swing、event、*; import java、awt、*; import java、awt、event、*; // 导入包 import java、util、*; class kehu // 定义客户类 { String zh; //定义账号 ﻩString pswf; //定义密码 double jine; //定义金额 ﻩpublic kehu() { }  //构造GUKE ﻩpublic kehu(String zh, String pswf, double jine) { this、zh = zh;   ﻩﻩthis、pswf = pswf; ﻩ this、jine = jine; ﻩ} String getzh() //定义成员变量账号 ﻩ{ ﻩﻩreturn zh; //成员方法 } double setMima(double pswf)//定义成员变量密码 { ﻩreturn pswf;//成员方法 } double getJine()//定义成员变量金额 { ﻩ return jine;//定义成员方法 } void cunkuan(double money)//定义成员变量存款 { jine = jine + money;   //定义成员方法 ﻩ} ﻩvoid quqian(double money)//定义成员变量取款 { ﻩjine = jine - money;    //定义成员方法 ﻩ} String xiugaim(String mi)//定义成员变量密码 { ﻩﻩpswf = mi;   //定义成员方法 ﻩﻩreturn pswf; ﻩ} }      5、2 ATM主界面模块设计 class ATM extends JFrame implements ActionListener //导入接口类 { JPanel p1,p2, p3;    //定义个面板 JLabel l1, l2, l3,l4; //定义个标签 JPasswordField pswf; //定义一个密码文本 JButton jb1, jb2;  //定义个按钮 ﻩJTextField jtf1,jc1;   //定义个文本框 ﻩContainer content;   //定义一个容器 kehu[] g = new kehu[4];  //定义客户类数组 ﻩpublic ATM() //布局 ﻩ{ ﻩﻩg[0] = new kehu("liuyiping", "123456", 10000);//客户类数组里给得帐号,密码,钱数 ﻩg[1] = new kehu("chengyang", "123456", 10000); ﻩg[2] = new kehu("zhangzhicheng", "123456", 10000); ﻩg[3] = new kehu("pengzhanyuan", "123456", 10000); p1 = new JPanel();   ﻩﻩp2 = new JPanel();        //定义第二个面板 l2 = new JLabel("卡号:");     //定义标签l2 ﻩﻩjc1 = new JTextField(10);           //定义账号文本      ﻩﻩl3 = new JLabel("密 码:");         //定义标签l3 ﻩﻩpswf = new JPasswordField(12);         //定义密码文本 ﻩl4 = new JLabel("欢迎使用自动取款机"); ﻩp1、add(l4); p2、add(l2);                    //把它们分别镶在面板上 ﻩp2、add(jc1); ﻩ p2、add(l3); ﻩ p2、add(pswf); ﻩp3 = new JPanel();         //定义第三个面板  ﻩjb1 = new JButton("登录");         //定义按钮登录jb1 ﻩjb1、addActionListener(this);        //jb1申请监听 jb2 = new JButton("注销");      //定义按钮注销jb2 jb2、addActionListener(this);     //jb2申请监听 p3、add(jb1);          //把它们添加到p3面板里 ﻩﻩp3、add(jb2); ﻩﻩcontent = this、getContentPane();      //布局定义 ﻩﻩcontent、setLayout(new BorderLayout()); ﻩ content、add(p1, BorderLayout、NORTH); ﻩ content、add(p2, BorderLayout、CENTER);    //定义中部为面板p2 content、add(p3, BorderLayout、SOUTH); ﻩ  //定义底部为面板p3 this、pack(); ﻩthis、setTitle("ATM 柜员机");           //定义为窗口名称 ﻩﻩthis、setBounds(300, 300, 400, 300);  // 定义窗口得大小 ﻩ this、setResizable(false); ﻩthis、show();         //显示 ﻩ this、setDefaultCloseOperation(JFrame、EXIT_ON_CLOSE);// 关闭、退出 ﻩ} public void actionPerformed(ActionEvent e) //监听类 { ﻩﻩString x = jc1、getText(); ﻩ if (e、getSource() == jb1)      //如果点击就是jb1按钮就进入For  { for (int i = 0; i < 4; i++)          //判断名字在数组得位置 ﻩ if (x、equals(g[i]、zh))        //检查到开始判断就是否匹配 ﻩ ﻩﻩ{  if (pswf、getText()、equals(g[i]、pswf)) //名字匹配成功后判断密码就是否成功 { ﻩﻩ ﻩﻩnew XUANZE(g[i]);    //密码真确后进入XUANZE得界面 ﻩ ﻩ } ﻩ ﻩelse ﻩ ﻩ{ ﻩﻩ ﻩJOptionPane、showMessageDialog(this, "密码错误!"); //密码错误弹出提示密码错误 ﻩﻩﻩ } ﻩﻩﻩﻩ} } ﻩ else ﻩﻩSystem、exit(0);   //注销事件退出 } ﻩpublic static void main(String args[]) //定义得MAIN,才能进入。 { ﻩ new ATM(); ﻩ} } 主界面       密码输入错误提示栏 5、3 选择页面模块设计 class XUANZE extends JFrame implements ActionListener //导入接口类 { JPanel p2, p3;                  //定义个面板 ﻩJLabel l1;                      //定义个标签 ﻩJButton jb1, jb2, jb3, jb4, jb5;                 //定义个按钮 ﻩContainer content;                       //定义一个容器 ﻩkehu key;                              //定义客户类传从参数key public XUANZE(GUKE key) { this、key = key;                    p2 = new JPanel();             //定义面板           ﻩjb1 = new JButton("ATM取款");      //定义jb1按钮ATM取款 ﻩﻩjb1、addActionListener(this);    //jb1申请监听 ﻩjb2 = new JButton("ATM存款");            //定义jb2按钮ATM存款 ﻩ jb2、addActionListener(this);              //jb2申请监听 jb3 = new JButton("查询余额");             //定义jb3按钮查询余额 ﻩjb3、addActionListener(this);              //jb3申请监听 ﻩ jb4 = new JButton("修改密码");                //定义jb4按钮修改密码 jb4、addActionListener(this);          //jb4申请监听 p2、add(jb1); ﻩ p2、add(jb2); ﻩp2、add(jb3); ﻩ p2、add(jb4); ﻩ p3 = new JPanel();                 //定义面板 ﻩﻩjb5 = new JButton("退出");        //定义jb5按钮退出                     jb5、addActionListener(          //定义一个匿名类 new ActionListener() ﻩ { ﻩﻩpublic void actionPerformed(ActionEvent event) ﻩﻩﻩ{ ﻩﻩﻩﻩSystem、exit(0);     //退出登陆 } ﻩﻩ}   ); p3、add(jb5); ﻩﻩcontent = this、getContentPane();       //布局定义 ﻩﻩcontent、setLayout(new BorderLayout()); ﻩcontent、add(p2, BorderLayout、CENTER);         //定义中部为面板p2 content、add(p3, BorderLayout、SOUTH);     //定义底部为面板p3 this、pack(); ﻩthis、setTitle("进入界面");           //定义为窗口名称 ﻩﻩthis、setBounds(300, 300, 400, 300);            // 定义窗口得大小 ﻩﻩthis、setResizable(false); ﻩ this、show(); } public void actionPerformed(ActionEvent event) //接口监听 ﻩ{ ﻩ if (event、getSource() == jb4)          //判断就是否就是jb4 ﻩ { new Xgmm(key);     //进入Xgmm ﻩsetVisible(false); ﻩﻩ} if (event、getSource() == jb1)    //判断就是否就是jb1 ﻩﻩ{ ﻩnew QUKUAN(key); //进入QUKUAN ﻩ ﻩsetVisible(false); ﻩﻩ} ﻩ if (event、getSource() == jb2) //判断就是否就是jb2 ﻩ{ ﻩﻩﻩnew CUNKUAN(key);         //进入CUNKUAN ﻩ setVisible(false); } ﻩ if (event、getSource() == jb3)        //判断就是否就是jb3 { new CHAXUN(key);      //进入CHAXUN ﻩ ﻩsetVisible(false); ﻩ } } }             进入选择界面 5、4 存款模块设计 class CUNKUAN extends JFrame implements ActionListener //导入接口类 { ﻩJPanel p2, p3;              //定义个面板 ﻩJLabel l1;                       //定义个标签 ﻩJButton jb1, jb2;           //定义个按钮 ﻩJTextField jtf1;               //定义一个文本框 ﻩContainer content;                 //定义一个容器 kehu key;             //定义客户类传从参数key ﻩpublic CUNKUAN(kehu key) { this、key = key;             //把key传到顶层容器 p2 = new JPanel();                //定义面板 ﻩl1 = new JLabel("请输入您要存入得金额:");   //定义一个标签请输入您要存入得金额: ﻩﻩjtf1 = new JTextField(10);            //定义一个文本框       p2、add(l1); ﻩﻩp2、add(jtf1); ﻩp3 = new JPanel();                //定义第三个面板 ﻩjb1 = new JButton("确定");         //定义一个按钮确定 jb1、addActionListener(this);         //jb1申请一个监听 ﻩjb2 = new JButton("返回");           //定义一个按钮返回 ﻩﻩjb2、addActionListener(           //定义一个匿名类监听   new ActionListener() ﻩ { ﻩ public void actionPerformed(ActionEvent event) ﻩﻩ{ ﻩﻩ XUANZEActionPerformed(event); ﻩ } ﻩ } ); p3、add(jb1); p3、add(jb2); ﻩ content = this、getContentPane();             //布局定义 ﻩﻩcontent、setLayout(new BorderLayout()); ﻩcontent、add(p2, BorderLayout、NORTH);     //定义顶部为面板p1               content、add(p2,BorderLayout、CENTER);           //定义中部为面板p2 ﻩ content、add(p3, BorderLayout、SOUTH);        //定义底部为面板p3 this、pack(); this、setTitle("自 动  存 款");          //定义为窗口名称 ﻩ this、setBounds(300, 300, 400, 300);   // 定义窗口得大小 ﻩﻩthis、setResizable(false); this、show();         //显示 ﻩ} ﻩpublic void actionPerformed(ActionEvent e) //接口监听类 { ﻩif (e、getSource() == jb1)        //判断就是就是否就是jb1 ﻩ { ﻩ double money = Double、parseDouble(jtf1、getText());// 把money转成Double ﻩﻩJOptionPane、showMessageDialog(this, "成功存款" + jtf1、getText() + "元!");//一个提示框填出您成功存了多少 ﻩkey、cunkuan(money);       //把存得钱传回客户类 ﻩ ﻩjtf1、setText("0"); ﻩ} } public void XUANZEActionPerformed(ActionEvent event) //匿名类监听过程 { if (event、getSource() == jb2)            //判断要就是jb2 ﻩﻩ{ new XUANZE(key);            //返回XUANZE界面 ﻩ setVisible(false); ﻩ} } } 存款界面 存款成功 5、5 取款模块设计 class QUKUAN extends JFrame implements ActionListener //导入接口类 { JPanel  p2, p3;              //定义个面板 ﻩJLabel l1;                    //定义个标签 JButton jb1, jb2;          //定义个按钮 JTextField jtf1;           //定义一个文本框 Container content;                 //定义一个容器 ﻩGUKE key;            //定义客户类传从参数key public QUKUAN(GUKE key) ﻩ{ ﻩthis、key = key;              //把key传到顶层容器 p2 = new JPanel();                //定义面板 l1 = new JLabel("请输入您要取得金额:");     //定义一个标签请输入您要取得金额: ﻩjtf1 = new JTextField(10);        //定义一个文本框 p2、add(l1); p2、add(jtf1); ﻩ p3 = new JPanel();      //定义面板 ﻩ jb1 = new JButton("确定");          //定义一个按钮确定 ﻩjb1、addActionListener(this);   //jb1申请一个监听 jb2 = new JButton("返回");             //定义一个按钮返回 jb2、addActionListener(this);         //jb1申请一个监听 ﻩp3、add(jb1); ﻩﻩp3、add(jb2); ﻩﻩcontent = this、getContentPane();       //布局定义 ﻩ content、setLayout(new BorderLayout()); content、add(p2, BorderLayout、CENTER);   //定义中部为面板p2 ﻩﻩcontent、add(p3, BorderLayout、SOUTH);   //定义底部为面板p3 ﻩ this、pack(); ﻩﻩthis、setTitle("自 动  取  款");      //定义为窗口名称        ﻩthis、setBounds(300, 300, 400, 300);   // 定义窗口得大小 ﻩﻩthis、setResizable(false); ﻩ this、show(); ﻩ} public void actionPerformed(ActionEvent e)  //接口监听类 { ﻩ if (e、getSource() == jb1)               //判断就是就是否就是jb1 { ﻩ ﻩdouble money = Double、parseDouble(jtf1、getText());// 把money转成Double ﻩ if (money < key、jine) ﻩ{ ﻩﻩﻩﻩif (money % 100 == 0) ﻩﻩﻩ { ﻩ ﻩif (money <=5000) ﻩ { ﻩ ﻩﻩ JOptionPane、showMessageDialog(this, "成功取款" + jtf1、getText() + "元!");//一个提示框填出您成功取了多少 ﻩ ﻩ key、quqian(money); //把存得钱传回客户类 ﻩ ﻩﻩﻩjtf1、setText("0"); ﻩ } ﻩ ﻩﻩelse ﻩ ﻩ{ ﻩ ﻩ JOptionPane、showMessageDialog(this, "提取金额不许超过五千"); ﻩ } ﻩ } ﻩ else { JOptionPane、showMessageDialog(this, "取款许为一百得整数"); ﻩ ﻩ} ﻩﻩ } ﻩﻩelse ﻩ { ﻩﻩﻩﻩJOptionPane、showMessageDialog(this, "金额不足不许透支");//一个提示框提示您您得卡即将要已透支 ﻩ} ﻩﻩ} ﻩif (e、getSource() == jb2)//判断就是就是否就是jb2 ﻩ{ ﻩﻩnew XUANZE(key);   //返回XUANZE ﻩ setVisible(false); ﻩ } } 取款界面 取款成功 金额不足取款失败提示 提取金额不许超过五千 提取金额需为一百得整数     5、6 查询余额模块设计 class CHAXUN extends JFrame implements ActionListener  //导入接口类 { JPanel p2, p3;            //定义个面板 JLabel l1;                        //定义个标签 JButton jb1;                     //定义个按钮   Container content;           //定义一个容器 ﻩkehu key;                     //定义客户类传从参数key ﻩpublic CHAXUN(kehu key){      this、key=key;         //把key传到顶层容器 p2=new JPanel();          //定义面板  l1=new JLabel("您得剩余金额为:"+ key、getJine()); ﻩ  p2、add(l1);   p3=new JPanel();             //定义面板 jb1=new JButton("返回");     jb1、addActionListener(this); ﻩ p3、add(jb1);  content=this、getContentPane();       //布局定义 ﻩ content、setLayout(new BorderLayout()); ﻩ content、add(p2,BorderLayout、CENTER);     //定义中部为面板p2  content、add(p3,BorderLayout、SOUTH);        //定义底部为面板p3  this、pack(); ﻩ this、setTitle("查 询 余 额");       //定义为窗口名称  this、setBounds(300, 300, 400, 300);        // 定义窗口得大小 ﻩ  this、setResizable(false); ﻩ this、show();   } ﻩpublic void actionPerformed(ActionEvent e)   //接口监听类 { if (e、getSource() == jb1)             //判断就是否就是jb1           { ﻩﻩﻩnew XUANZE(key);       //返回XUANZE ﻩ ﻩsetVisible(false); } } 开户资金10000元 存700后查询余额 再取款900后查询余额 5、7 修改密码模块设计 class Xgmm extends JFrame implements ActionListener //导入接口类 { ﻩJPanel p2, p3;           //定义个面板 ﻩJLabel l1, l2, l3, l4;            //定义个标签 ﻩJPasswordField jtf1, jtf2, jtf3;          //定义个文本框 JButton jb1, jb2;               //定义个按钮 ﻩContainer content;              //定义一个容器 kehu key;                  //定义客户类传从参数key ﻩpublic Xgmm(kehu key) { ﻩ this、key=key;         //把key传到顶层容器 ﻩﻩp2=new JPanel();             //定义第二个面板 ﻩ l2=new JLabel("请输入原始密码:");   //定义标签请输入原始密码: ﻩﻩl3=new JLabel("输入要修改得密码:");     //定义标签输入要修改得密码 l4=new JLabel("确认输入得新密码:");  //定义标签确认输入得新密码: ﻩﻩjtf1 = new JPasswordField(15);            //定义文本框jtf1 jtf2 = new JPasswordField(15);           //定义文本框jtf2     jtf3=new JPasswordField(15);            //定义文本框jtf3 p2、add(l2); p2、add(jtf1);     p2、add(l3);     p2、add(jtf2); ﻩp2、add(l4); ﻩp2、add(jtf3); ﻩp3=new JPanel();                 //定义面板      jb1 = new JButton("确定");   //定义按钮jb1 确定      jb1、addActionListener(this);            //jb1申请监听      ﻩ jb2 = new JButton("返回登录");      //定义按钮jb2 放回登录 ﻩﻩ jb2、addActionListener(this);        //jb2申请监听 ﻩ  p3、add(jb1); ﻩ p3、add(jb2);        content = this、getContentPane();     //布局定义   content、setLayout(new BorderLayout());    content、add(p2,BorderLayout、CENTER);   //定义中部为面板p2 content、add(p3,BorderLayout、SOUTH);     //定义底部为面板p3         this、pack(); ﻩ this、setTitle("修 改 密 码");          //定义为窗口名称 ﻩ  this、setBounds(300, 300, 400, 300);     // 定义窗口得大小     this、setResizable(false);    this、show();                  //显示  } public void actionPerformed(ActionEvent e) //接口监听类 {
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服