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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、课程设计ATM柜员机模拟程序软 件 学 院课程设计报告书课程名称 面向对象程序设计 设计题目 ATM柜员机模拟程序 专业班级 软件工程 学 号 姓 名 指导教师 刘腊梅 2015年 月1 设计时间2015 年 月2 设计目的掌握图形用户界面设计方法,掌握常用swing组件的使用和事件处理程序设计.3 设计题目ATM柜员机模拟程序4 设计任务使用图形用户界面。当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:(1)查询余额功能:初始余额为10000元(2)ATM取款功能:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许

2、透支。(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; /定义金额

3、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)/定义成员变量存款

4、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; /定义个标签 JPasswordFiel

5、d pswf; /定义一个密码文本 JButton jb1, jb2; /定义个按钮 JTextField jtf1,jc1; /定义个文本框 Container content; /定义一个容器 kehu g = new kehu4; /定义客户类数组 public ATM() /布局 g0 = new kehu(liuyiping, 123456, 10000);/客户类数组里给的帐号,密码,钱数 g1 = new kehu(chengyang, 123456, 10000); g2 = new kehu(zhangzhicheng, 123456, 10000); g3 = new ke

6、hu(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

7、); 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 BorderLayou

8、t(); 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.setDefaultCloseOperat

9、ion(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(gi.zh) /检查到开始判断是否匹配 if (pswf.getText().equals(gi.pswf) /名字匹配成功后判断密码是否成功 new XUANZE(gi); /密码真确后进入XUA

10、NZE的界面 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

11、, 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申请监听

12、 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

13、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.setTit

14、le(进入界面); /定义为窗口名称 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); /进入QUK

15、UAN 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; /定义个面板 JLabe

16、l 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(jtf

17、1); 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); c

18、ontent = 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)

19、; / 定义窗口的大小 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(m

20、oney); /把存的钱传回客户类 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; /定义个标

21、签 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 J

22、Panel(); /定义面板 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)

23、; /定义中部为面板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.

24、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.

25、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 /导入接口类

26、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

27、(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 /导入接口类 JP

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

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