课程设计-ATM柜员机模拟程序Word文档格式.doc
《课程设计-ATM柜员机模拟程序Word文档格式.doc》由会员分享,可在线阅读,更多相关《课程设计-ATM柜员机模拟程序Word文档格式.doc(26页珍藏版)》请在冰豆网上搜索。
![课程设计-ATM柜员机模拟程序Word文档格式.doc](https://file1.bdocx.com/fileroot1/2022-10/4/5fec6560-2dc7-4b8a-b208-200a40652053/5fec6560-2dc7-4b8a-b208-200a406520531.gif)
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.1kehu类代码
importjavax.swing.*;
importjavax.swing.event.*;
importjava.awt.*;
importjava.awt.event.*;
//导入包
importjava.util.*;
classkehu//定义客户类
{
Stringzh;
//定义账号
Stringpswf;
//定义密码
doublejine;
//定义金额
publickehu(){}//构造GUKE
publickehu(Stringzh,Stringpswf,doublejine)
{
this.zh=zh;
this.pswf=pswf;
this.jine=jine;
}
Stringgetzh()//定义成员变量账号
returnzh;
//成员方法
doublesetMima(doublepswf)//定义成员变量密码
returnpswf;
//成员方法
doublegetJine()//定义成员变量金额
returnjine;
//定义成员方法
voidcunkuan(doublemoney)//定义成员变量存款
jine=jine+money;
//定义成员方法
voidquqian(doublemoney)//定义成员变量取款
jine=jine-money;
//定义成员方法
Stringxiugaim(Stringmi)//定义成员变量密码
pswf=mi;
//定义成员方法
}
5.2ATM主界面模块设计
classATMextendsJFrameimplementsActionListener//导入接口类
JPanelp1,p2,p3;
//定义个面板
JLabell1,l2,l3,l4;
//定义个标签
JPasswordFieldpswf;
//定义一个密码文本
JButtonjb1,jb2;
//定义个按钮
JTextFieldjtf1,jc1;
//定义个文本框
Containercontent;
//定义一个容器
kehu[]g=newkehu[4];
//定义客户类数组
publicATM()//布局
g[0]=newkehu("
liuyiping"
"
123456"
10000);
//客户类数组里给的帐号,密码,钱数
g[1]=newkehu("
chengyang"
g[2]=newkehu("
zhangzhicheng"
g[3]=newkehu("
pengzhanyuan"
p1=newJPanel();
p2=newJPanel();
//定义第二个面板
l2=newJLabel("
卡号:
"
);
//定义标签l2
jc1=newJTextField(10);
//定义账号文本
l3=newJLabel("
密码:
//定义标签l3
pswf=newJPasswordField(12);
//定义密码文本
l4=newJLabel("
欢迎使用自动取款机"
p1.add(l4);
p2.add(l2);
//把它们分别镶在面板上
p2.add(jc1);
p2.add(l3);
p2.add(pswf);
p3=newJPanel();
//定义第三个面板
jb1=newJButton("
登录"
//定义按钮登录jb1
jb1.addActionListener(this);
//jb1申请监听
jb2=newJButton("
注销"
//定义按钮注销jb2
jb2.addActionListener(this);
//jb2申请监听
p3.add(jb1);
//把它们添加到p3面板里
p3.add(jb2);
content=this.getContentPane();
//布局定义
content.setLayout(newBorderLayout());
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);
//关闭、退出
publicvoidactionPerformed(ActionEvente)//监听类
Stringx=jc1.getText();
if(e.getSource()==jb1)//如果点击是jb1按钮就进入For
{for(inti=0;
i<
4;
i++)//判断名字在数组的位置
if(x.equals(g[i].zh))//检查到开始判断是否匹配
{if(pswf.getText().equals(g[i].pswf))//名字匹配成功后判断密码是否成功{
newXUANZE(g[i]);
//密码真确后进入XUANZE的界面
}
else
{
JOptionPane.showMessageDialog(this,"
密码错误!
//密码错误弹出提示密码错误
}
}
else
System.exit(0);
//注销事件退出
publicstaticvoidmain(Stringargs[])//定义的MAIN,才能进入。
newATM();
}
主界面
密码输入错误提示栏
5.3选择页面模块设计
classXUANZEextendsJFrameimplementsActionListener//导入接口类
JPanelp2,p3;
//定义个面板
JLabell1;
//定义个标签
JButtonjb1,jb2,jb3,jb4,jb5;
//定义个按钮
//定义一个容器
kehukey;
//定义客户类传从参数key
publicXUANZE(GUKEkey)
this.key=key;
//定义面板
ATM取款"
)