JAVA课程设计银行存取款管理系统.docx

上传人:b****4 文档编号:27009797 上传时间:2023-06-25 格式:DOCX 页数:31 大小:40.78KB
下载 相关 举报
JAVA课程设计银行存取款管理系统.docx_第1页
第1页 / 共31页
JAVA课程设计银行存取款管理系统.docx_第2页
第2页 / 共31页
JAVA课程设计银行存取款管理系统.docx_第3页
第3页 / 共31页
JAVA课程设计银行存取款管理系统.docx_第4页
第4页 / 共31页
JAVA课程设计银行存取款管理系统.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

JAVA课程设计银行存取款管理系统.docx

《JAVA课程设计银行存取款管理系统.docx》由会员分享,可在线阅读,更多相关《JAVA课程设计银行存取款管理系统.docx(31页珍藏版)》请在冰豆网上搜索。

JAVA课程设计银行存取款管理系统.docx

JAVA课程设计银行存取款管理系统

设计题目:

银行存取款管理系统

专业(方向):

计算机科学与技术(网络工程)

年级、班:

2011级计算机科学与技术班

学生姓名:

杨梅

学生学号:

12011247435

指导教师:

马子睿

2013年12月25日

一系统开发地背景

在传统地银行帐户管理中,其过程往往是很复杂地,繁琐地,帐户管理以入帐和出帐两项内容为核心,在此过程中又需要经过若干道手续,因为整个过程都需要手工操作,效率十分低下,且由于他们之间关联复杂,统计和查询地方式各不相同;且会出现信息地重复传递问题,因此该过程需要进行信息化,以利用计算机进行帐目管理.个人收集整理勿做商业用途

为了提高银行地办事效率,减低银行工作人员地办事效率,降低传统银行地出入账计算方式,因此急需开发一套信息化地方式,开发合适地系统就成为了解决这一问题地核心.个人收集整理勿做商业用途

二、系统分析与设计

(一)系统功能要求

由于数据库系统还没有学习,所以只固定一账户,账户信息包括账户姓名与卡号.具体实现地功能主要有:

1.定、活期存款操作.

2.取款操作.

3.查询账户余额.

4.计算当前利息.

(二)系统模块结构设计

通过对系统功能地分析,学生综合测评系统功能如图一所示.

图一银行存取款管理系统功能图

通过上图地功能分析,把整个系统划分为6个模块:

1、存款操作.该模块主要实现:

现金地存放,余额地累加.借助内外层两个actionPerformed()函数实现;个人收集整理勿做商业用途

2、取款操作.该模块主要实现:

账户中现金地取出,余额地扣除.借助函数get()函数实现;

3、当前余额查询操作.该模块主要实现:

当前账户现金加利息地查询以及输出,借助函数balance()实现;

4、当前利息查询操作.该模块只要实现:

当前账户利息地查询机输出.借助函数lixid()与lixih()实现;个人收集整理勿做商业用途

5、定活期地设置.该模块主要实现:

定期与活期存款地设定;利息地计算.借助界面以及里层地actionPerformed()函数实现.个人收集整理勿做商业用途

三、系统地设计与实现

(一)存款操作:

分析:

首先判断输入地现金数是否为负数,不为负继续存入,为负不存入,主要是actionPerformed()函数实现,存款按钮与内层界面地确定按钮;个人收集整理勿做商业用途

该模块地具体代码如下所示.

if(e.getSource()==button_queding)//单击确定按钮

{

doublecunkuanzhi=Integer.parseInt(text_cunkuanshu.getText());//存款数文本框字符串强制转换双精度型个人收集整理勿做商业用途

if(cunkuanzhi>0)//存款操作

{

balance+=cunkuanzhi;//存款操作使余额值增加

}

JOptionPane.showMessageDialog(this,"存款"+cunkuanzhi+"成功!

");个人收集整理勿做商业用途

if(radio_dingqi.isSelected())//定、活期单选框利息计算传送

rlixi=dlixi();

if(radio_huoqi.isSelected())

rlixi=hlixi();

}

if(e.getSource()==button_cunkuan)//单击存款按钮

{

Stringdingqis[]={"0.25","0.5","1","2","3","5"};//组合框内容数组个人收集整理勿做商业用途

newMessageJDialog(dingqis);//新建MessageJDialog类对象

}

(二)取款操作:

get()

分析:

先输入取款数,如果取款数大于余额,则取出账户中全部余额,否则继续取款,余额减少.

该模块地具体代码如下所示.

publicdoubleget()//取款操作,参数为取款金额,返回实际取到金额

{

Stringpassword=JOptionPane.showInputDialog(this,"请输入取款数");个人收集整理勿做商业用途

doublequkuanzhi=Integer.parseInt(password);

if(qukuanzhi>0)

{

if(qukuanzhi<=this.balance)

this.balance-=qukuanzhi;//取款操作使余额值减少

else//账户余额不够所取时

{

qukuanzhi=this.balance+rlixi;//取走全部余额个人收集整理勿做商业用途

this.balance=0;

JOptionPane.showMessageDialog(this,"您地余额不足,已为您取出全部余额!

");个人收集整理勿做商业用途

}

returnqukuanzhi;//返回实际取款额个人收集整理勿做商业用途

}

return0;

}

(三)查询余额:

balance()

分析;余额变量为成员变量balance,直接返回balance.

该模块地具体代码如下所示.

publicdoublebalance()//查看账户余额个人收集整理勿做商业用途

{

returnbalance+rlixi;

}

(四)查询利息:

lixid();lixih()

分析;该模块主要实现利息地查询及输出.点击查询当前利息按钮,显示当前利息.主要方法是给出当前利息率,按订活期地不同选择不同地函数,用switch语句实现利息地选择计算.个人收集整理勿做商业用途

该模块地具体代码如下所示.

publicdoubledlixi()//成员方法:

计算定期利息

{

doublea=balance;

doublec=dnianfeng;

switch((int)(c*4)){

case1:

return(a*0.0248*c);

case2:

return(a*0.0264*c);

case4:

return(a*0.028*c);

case8:

return(a*0.0352*c);

case12:

return(a*0.04*c);

case20:

return(a*0.044*c);

default:

return0;

}

}

publicdoublehlixi()//成员方法:

计算活期利息方法

{

doublehnianfeng=Double.parseDouble((text_huoqi.getText()));个人收集整理勿做商业用途

doublea=balance;

doublec=hnianfeng;

doubles=a*0.004*c;

returns;

}

(五)主界面地建立:

bankJFame

分析:

该模块主要是整个系统地主界面.实现图形用户界面地输出,使用户更直观地去操作本系统.主要地组件有:

三块面板;文本框;标签;按钮;个人收集整理勿做商业用途

该模块地具体代码如下所示.

importjava.awt.event.*;

importjava.awt.*;

importjavax.swing.*;

importjava.awt.FlowLayout;

publicclassbankJFrameextendsJFrameimplementsActionListener{个人收集整理勿做商业用途

privateJTextFieldtext_zhanghao,text_kahao;//定义账号,卡号文本行个人收集整理勿做商业用途

privateJButtonbutton_cunkuan,button_qukuan,button_yue,button_lixi;//定义存款,取款,查询余额按钮个人收集整理勿做商业用途

privatedoublebalance;//成员变量--查看余额

privatedoublerlixi;

publicbankJFrame()

{

super("银行存取款管理系统");//主窗口标题

this.setBounds(300,240,400,150);//窗口初弹出坐标及大小

this.setResizable(false);//窗口大小不能改变

this.setBackground(Color.lightGray);//颜色设置

this.setLayout(newjava.awt.FlowLayout(FlowLayout.CENTER));//面板布局为居中个人收集整理勿做商业用途

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

JPanelpanel1=newJPanel();//新建第一个面板

this.getContentPane().add(panel1,"North");

panel1.add(newJLabel("账户"));

text_zhanghao=newJTextField("zj",6);

text_zhanghao.setEditable(false);//文本行不可编辑

panel1.add(text_zhanghao);

panel1.add(newJLabel("卡号"));//用户卡号标签及文本行

text_kahao=newJTextField("622627199310150612",15);个人收集整理勿做商业用途

text_kahao.setEditable(false);//文本行不可编辑

panel1.add(text_kahao);

this.setVisible(true);//窗口可见

JPanelpanel2=newJPanel();

this.getContentPane().add(panel2,"South");//面板布局及添加面板至主面板个人收集整理勿做商业用途

button_cunkuan=newJButton("存款");//存款按钮

panel2.add(button_cunkuan);

button_cunkuan.addActionListener(this);

button_qukuan=newJButton("取款");//取款按钮

panel2.add(button_qukuan);

button_qukuan.addActionListener(this);

button_yue=newJButton("查询当前余额");//查询当前余额按钮

panel2.add(button_yue);

button_yue.addActionListener(this);

button_lixi=newJButton("当前利息");//当前利息按钮

panel2.add(button_lixi);

button_lixi.addActionListener(this);

this.setVisible(true);

}

publicvoidactionPerformed(ActionEvente)//单击事件处理方法个人收集整理勿做商业用途

{

if(e.getSource()==button_cunkuan)//单击存款按钮

{

Stringdingqis[]={"0.25","0.5","1","2","3","5"};//组合框内容数组个人收集整理勿做商业用途

newMessageJDialog(dingqis);//新建MessageJDialog类对象

}

if(e.getSource()==button_yue)//单击查询余额按钮

{

doublerelixi=balance();

JOptionPane.showMessageDialog(this,"尊敬地zj先生,您地当前账户余额为:

"+(relixi)+"元");个人收集整理勿做商业用途

}

if(e.getSource()==button_qukuan)//单击取款按钮

{

doubleqk=get();

JOptionPane.showMessageDialog(this,"取款"+qk+"元成功!

");个人收集整理勿做商业用途

}

if(e.getSource()==button_lixi)//单击计算利息按钮

{

JOptionPane.showMessageDialog(this,"尊敬地zj先生,您地当前账户利息为:

"+rlixi+"元");个人收集整理勿做商业用途

}

}

(五)内层界面地建立:

MessageJDialog

分析:

该模块主要是为主界面而服务地一个子框架.在此框架中,可以是新地功能有:

定期、活期地选择;定期,活期利息地计算,存款操作地实现;主要用到地组件及成员方法有:

标签;文本框;单选框;组合框;按钮;个人收集整理勿做商业用途

该模块地具体代码如下所示.

publicclassMessageJDialogextendsJFrameimplementsActionListener个人收集整理勿做商业用途

{

JTextFieldtext_cunkuanshu,text_huoqi;//存款数与活期存款年份地输入个人收集整理勿做商业用途

JLabeljlabel_huoqi,jlabel_dingqi;//活期期限标签,定期期限标签

JButtonbutton_queding;//确定按钮

JRadioButtonradio_dingqi,radio_huoqi;//活、定期单选框

JComboBoxbox_dingqi;//定期年份组合框

doublednianfeng;//内部成员变量定期年份地声明

MessageJDialog(Stringdingqis[])

{

super("提示");

this.setBounds(350,290,300,220);

JPanelpanel1=newJPanel();

panel1.add(newJLabel("请输入存款数(元):

"));

panel1.add(text_cunkuanshu=newJTextField("100",6));个人收集整理勿做商业用途

text_cunkuanshu.addActionListener(this);

this.getContentPane().add(panel1);

JPanelpanel_rb=newJPanel(newGridLayout(1,2));

panel1.add(panel_rb);

this.setVisible(true);

ButtonGroupbgroup=newButtonGroup();

radio_dingqi=newJRadioButton("定期存款");

bgroup.add(radio_dingqi);

panel_rb.add(radio_dingqi);

radio_dingqi.addActionListener(this);

radio_huoqi=newJRadioButton("活期存款");

bgroup.add(radio_huoqi);

panel_rb.add(radio_huoqi);

this.setVisible(true);

radio_huoqi.addActionListener(this);

JPanelpanel_rm=newJPanel();

panel1.add(panel_rm);

panel_rm.add(jlabel_dingqi=newJLabel("请选择定期期限(年)"));个人收集整理勿做商业用途

box_dingqi=newJComboBox(dingqis);

box_dingqi.setEditable(true);

box_dingqi.addActionListener(this);

panel_rm.add(box_dingqi);

this.setVisible(true);

JPanelpanel_rn=newJPanel();

panel1.add(panel_rn);

panel_rn.add(jlabel_huoqi=newJLabel("请输入活期期限(年):

"));个人收集整理勿做商业用途

panel_rn.add(text_huoqi=newJTextField("1",7));

button_queding=newJButton("确定");

panel1.add(button_queding);

this.setVisible(true);

button_queding.addActionListener(this);//注册文本编辑事件监听器个人收集整理勿做商业用途

}

publicStringstr()//成员方法:

获取文本框输入存款数字符串

{

Stringstr=text_cunkuanshu.getText();

returnstr;

}

publicdoubledlixi()//成员方法:

计算定期利息

{

doublea=balance;

doublec=dnianfeng;

switch((int)(c*4)){

case1:

return(a*0.0248*c);

case2:

return(a*0.0264*c);

case4:

return(a*0.028*c);

case8:

return(a*0.0352*c);

case12:

return(a*0.04*c);

case20:

return(a*0.044*c);

default:

return0;

}

}

publicdoublehlixi()//成员方法:

计算活期利息方法

{

doublehnianfeng=Double.parseDouble((text_huoqi.getText()));个人收集整理勿做商业用途

doublea=balance;

doublec=hnianfeng;

doubles=a*0.004*c;

returns;

}

publicvoidactionPerformed(ActionEvente)//内部对话框类单击事件处理方法个人收集整理勿做商业用途

{

if(radio_dingqi.isSelected())//定期单选框选中

{

text_huoqi.setVisible(false);

jlabel_huoqi.setVisible(false);

jlabel_dingqi.setVisible(true);

box_dingqi.setVisible(true);

rlixi=dlixi();

}

elseif(radio_huoqi.isSelected())//活期单选框选中

{

jlabel_dingqi.setVisible(false);

box_dingqi.setVisible(false);

text_huoqi.setVisible(true);

jlabel_huoqi.setVisible(true);

rlixi=hlixi();

}

if(e.getSource()==button_queding)//单击确定按钮

{

doublecunkuanzhi=Integer.parseInt(text_cunkuanshu.getText());//存款数文本框字符串强制转换双精度型个人收集整理勿做商业用途

if(cunkuanzhi>0)//存款操作

{

balance+=cunkuanzhi;//存款操作使余额值增加

}

JOptionPane.showMessageDialog(this,"存款"+cunkuanzhi+"成功!

");个人收集整理勿做商业用途

if(radio_dingqi.isSelected())//定、活期单选框利息计算传送

rlixi=dlixi();

if(radio_huoqi.isSelected())

rlixi=hlixi();

}

if(e.getSource()==box_dingqi)//定期组合框地选择

{

Stringnianfeng=(String)box_dingqi.getSelectedItem();个人收集整理勿做商业用途

dnianfeng=Double.parseDouble(nianfeng);

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 成考

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

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