ATM柜员机模拟程序JAVA课程设计Word格式.docx
- 文档编号:17044509
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:30
- 大小:538.38KB
ATM柜员机模拟程序JAVA课程设计Word格式.docx
《ATM柜员机模拟程序JAVA课程设计Word格式.docx》由会员分享,可在线阅读,更多相关《ATM柜员机模拟程序JAVA课程设计Word格式.docx(30页珍藏版)》请在冰豆网上搜索。
//导入包
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;
}
4.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();
}
主界面
密码输入错误提示栏
4.3选择页面模块设计:
classXUANZEextendsJFrameimplementsActionListener//导入接口类
JPanelp2,p3;
JLabell1;
JButtonjb1,jb2,jb3,jb4,jb5;
kehukey;
//定义客户类传从参数key
publicXUANZE(GUKEkey)
this.key=key;
//定义面板
ATM取款"
//定义jb1按钮ATM取款
ATM存款"
//定义jb2按钮ATM存款
jb3=newJButton("
查询余额"
//定义jb3按钮查询余额
jb3.addActionListener(this);
//jb3申请监听
jb4=newJButton("
修改密码"
//定义jb4按钮修改密码
jb4.addActionListener(this);
//jb4申请监听
p2.add(jb1);
p2.add(jb2);
p2.add(jb3);
p2.add(jb4);
//定义面板
jb5=newJButton("
退出"
//定义jb5按钮退出
jb5.addActionListener(//定义一个匿名类
newActionListener()
publicvoidactionPerformed(ActionEventevent)
{
System.exit(0);
//退出登陆
}
);
p3.add(jb5);
//定义底部为面板p3
进入界面"
publicvoidactionPerformed(ActionEventevent)//接口监听
if(event.getSource()==jb4)//判断是否是jb4
newXgmm(key);
//进入Xgmm
setVisible(false);
if(event.getSource()==jb1)//判断是否是jb1
newQUKUAN(key);
//进入QUKUAN
if(event.getSource()==jb2)//判断是否是jb2
newCUNKUAN(key);
//进入CUNKUAN
if(event.getSource()==jb3)//判断是否是jb3
newCHAXUN(key);
//进入CHAXUN
}
进入选择界面
4.4存款模块设计:
classCUNKUANextendsJFrameimplementsActionListener//导入接口类
JTextFieldjtf1;
//定义一个文本框
publicCUNKUAN(kehukey)
//把key传到顶层容器
l1=newJLabel("
请输入您要存入的金额:
//定义一个标签请输入您要存入的金额:
jtf1=newJTextField(10);
//定义一个文本框
p2.add(l1);
p2.add(jtf1);
//定义第三个面板
确定"
//定义一个按钮确定
//jb1申请一个监听
返回"
//定义一个按钮返回
jb2.addActionListener(//定义一个匿名类监听
newActionListener()
XUANZEActionPerformed(event);
content.add(p2,BorderLayout.NORTH);
//定义顶部为面板p1content.add(p2,BorderLayout.CENTER);
自动存款"
publicvoidactionPerformed(ActionEvente)//接口监听类
if(e.getSource()==jb1)//判断是是否是jb1
doublemoney=Double.parseDouble(jtf1.getText());
//把money转成Double
JOptionPane.showMessageDialog(this,"
成功存款"
+jtf1.getText()+"
元!
//一个提示框填出你成功存了多少
key.cunkuan(money);
//把存的钱传回客户类
jtf1.setText("
0"
publicvoidXUANZEActionPerformed(ActionEventevent)//匿名类监听过程
if(event.getSource()==jb2)//判断要是jb2
newXUANZE(key);
//返回XUANZE界面
存款界面
存款成功
4.5取款模块设计:
classQUKUANextendsJFrameimplementsActionListener//导入接口类
GUKEkey;
publicQUKUAN(GUKEkey)
请输入您要取的金额:
//定义一个标签请输入您要取的金额:
自动取款"
//定义为窗口名称
if(money<
key.jine)
if(money%100==0)
if(money<
=5000)
JOptionPane.showMessageDialog(this,"
成功取款"
//一个提示框填出你成功取了多少
key.quqian(money);
jtf1.setText("
else
提取金额不许超过五千"
else
JOptionPane.showMessageDialog(this,"
取款许为一百的整数"
金额不足不许透支"
//一个提示框提示你你的卡即将要已透支
if(e.getSource()==jb2)//判断是是否是jb2
//返回XUANZE
取款界面
取款成功
金额不足取款失败提示
提取金额不许超过五千
提取金额需为一百的整数
4.6查询余额模块设计:
classCHAXUNextendsJFrameimplementsActionListener//导入接口类
JButtonjb1;
//定义个按钮
publicCHAXUN(kehukey){
this.key=key;
p2=newJPanel();
l1=newJLabel("
您的剩余金额为:
+key.getJine());
p2.add(l1);
p3=newJPanel();
jb1=newJButton("
jb1.addActionListener(this);
p3.add(jb1);
content=this.getContentPane();
content.setLayout(newBorderLayout());
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();
if(e.getSource()==jb1)//判断是否是jb1
setVisible(false)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ATM 柜员机 模拟 程序 JAVA 课程设计