JAVA课程设计银行管理系统Word下载.docx

上传人:b****4 文档编号:18518454 上传时间:2022-12-18 格式:DOCX 页数:27 大小:76.05KB
下载 相关 举报
JAVA课程设计银行管理系统Word下载.docx_第1页
第1页 / 共27页
JAVA课程设计银行管理系统Word下载.docx_第2页
第2页 / 共27页
JAVA课程设计银行管理系统Word下载.docx_第3页
第3页 / 共27页
JAVA课程设计银行管理系统Word下载.docx_第4页
第4页 / 共27页
JAVA课程设计银行管理系统Word下载.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

JAVA课程设计银行管理系统Word下载.docx

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

JAVA课程设计银行管理系统Word下载.docx

一、课程设计任务及要求:

任务:

针对小型信息管理系统或若干综合性设计题目,选择一种软件开发模型,完成从需求分析、系统设计、系统实现,软件测试的全过程。

要求:

(1)根据软件系统开发的一般原则,完成相应系统的功能设计,完成主要功能模块的程序实现并进行测试训练,给出代码运行结果和相应的设计文档。

可以分组进行,但所有学生必须经历整个系统的开发全过程,以便加深对系统开发全过程的认识。

(2)提交课程设计报告。

(3)指标:

要求完成课程设计报告3000字以上(约二十页);

完成所设计的题目,设计题目的语句行数的和在200行语句以上。

二、工作量

2周(10个工作日)时间

三、计划安排

第1个工作日:

查找相关资料、书籍,阅读示例文档,选择题目。

第2个工作日-第4个工作日:

设计程序结构、模块图。

第5个工作日-第9个工作日:

完成程序的编码,并且自己调试、测试。

穿插进行课程设计报告的撰写。

第10个工作日:

上交课程设计报告,由教师检查软件测试效果、检查课程设计报告,给出学生成绩。

                        2016年9月19日

题目:

银行取款管理系统的设计与实现

1.需求分析

在传统的银行帐户管理中,其过程往往是很复杂的,繁琐的,帐户管理以入帐和出帐两项内容为核心,在此过程中又需要经过若干道手续,因为整个过程都需要手工操作,效率十分低下,且由于他们之间关联复杂,统计和查询的方式各不相同;

且会出现信息的重复传递问题,因此该过程需要进行信息化,以利用计算机进行帐目管理。

为了提高银行的办事效率,减低银行工作人员的办事效率,降低传统银行的出入账计算方式,因此急需开发一套信息化的方式,开发合适的系统就成为了解决这一问题的核心。

2.概要设计

根据以上所说的功能,银行取款管理系统应该有以下的功能:

(1)定、活期存款操作:

在定期,活期的存款操作上,根据自己需要存放的金额进行存放,并填写需要存储的年限,点击确认,进行存款,在设计定、活期存款上,首先判断输入的现金数是否为负数,不为负继续存入,为负不存入,主要是actionPerformed()函数实现,存款按钮与内层界面的确定按钮。

(2)取款操作:

在取款操作上,根据自己所需要的金额进行取款,若银行里面的金额满足自己所取款的金额,则系统显示取款的金额,并显示剩余的金额,若银行里面的金额不满足自己所需的金额,则系统显示金额不足,不能取出相应的金额。

该模块主要实现:

账户中现金的取出,余额的扣除。

借助函数get()函数实现。

(3)查询账户余额:

在查询账户余额操作上,根据自己的存款,取款的操作,进行计算后,显示出银行账户的余额,该模块主要实现:

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

(4)计算当前利息:

在计算当前利息操作上,根据在定、活期存款的选择的基础上,根据个人的选择,系统会自动算出利息。

该模块只要实现:

当前账户利息的查询机输出。

借助函数lixid()与lixih()实现。

3.详细设计

系统模块结构设计如图1-1所示:

图1-1银行系统功能图

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

(1)存款操作。

现金的存放,余额的累加。

借助内外层两个actionPerformed()函数实现;

(2)取款操作。

借助函数get()函数实现;

(3)当前余额查询操作。

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

(4)当前利息查询操作。

借助函数lixid()与lixih()实现;

(5)定活期的设置。

定期与活期存款的设定;

利息的计算。

借助界面以及里层的actionPerformed()函数实现。

4.编码

(一)存款操作:

分析:

首先判断输入的现金数是否为负数,不为负继续存入,为负不存入,主要是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:

publicdoublehlixi()//成员方法:

计算活期利息方法

doublehnianfeng=Double.parseDouble((text_huoqi.getText()));

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

卡号"

//用户卡号标签及文本行

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

publicvoidactionPerformed(ActionEvente)//单击事件处理方法

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

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

doublerelixi=balance();

尊敬的zj先生,您的当前账户余额为:

+(relixi)+"

元"

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

doubleqk=get();

+qk+"

元成功!

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

尊敬的zj先生,您的当前账户利息为:

+rlixi+"

(五)内层界面的建立:

MessageJDialog

该模块主要是为主界面而服务的一个子框架。

在此框架中,可以是新的功能有:

定期、活期的选择;

定期,活期利息的计算,存款操作的实现;

主要用到的组件及成员方法有:

单选框;

组合框;

publicclassMessageJDialogextendsJFrameimplementsActionListener

JTextFieldtext_cunkuanshu,text_huoqi;

//存款数与活期存款年份的输入

JLabeljlabel_huoqi,jlabel_dingqi;

//活期期限标签,定期期限标签

JButtonbutton_queding;

//确定按钮

JRadioButtonradio_dingqi,radio_huoqi;

//活、定期单选框

JComboBoxbox_dingqi;

//定期年份组合框

doublednianfeng;

//内部成员变量定期年份的声明

MessageJDialog(Stringdingqis[])

提示"

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

请输入存款数(元):

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

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

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

JPanelpanel_rn=newJPanel();

panel1.add(panel_rn);

panel_rn.add(jlabel_huoqi=newJLabel("

请输入活期期限(年):

panel_rn.add(text_huoqi=newJTextField("

7));

button_queding=newJButton("

确定"

panel1.add(button_queding);

button_queding.addActionListener(this);

//注册文本编辑事件监听器

publicStringstr()//成员方法:

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

Stringstr=text_cunkuanshu.getText();

returnstr;

publicdoubledlixi()//成员方法:

publicdoublehlixi()//成员方法:

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(cunkuanzhi>

balance+=cunkuanzhi;

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

if(radio_huoqi.isSelected())

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

Stringnianfeng=(String)box_dingqi.getSelectedItem();

dnianfeng=Double.parseDouble(nianfeng);

5.调试分析

在取款的过程中,若银行里面剩余的金额不足自己

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

当前位置:首页 > 农林牧渔 > 农学

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

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