java课程设计―银行账户管理系统_第1页
java课程设计―银行账户管理系统_第2页
java课程设计―银行账户管理系统_第3页
java课程设计―银行账户管理系统_第4页
java课程设计―银行账户管理系统_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 银行账户管理系统1 课程设计目的Java语言是面向对象的开发方法是当今世界最流行的开发方法,是当今流行的网络编程语言。它具有面向对象、跨平台、分布应用等特点。它不仅具有更贴近自然的语义,而且有利于软件的维护和继承。这次课程设计我主要利用已学的Java知识编辑一个银行账户管理程序。通过此次课程设计,来巩固所学Java语言基本知识,加深对循环语句、选择语句的熟练程度,以及对面向对象、继承的理解等。掌握JDK、JCreator等开发工具的运用,拓宽常用类库的应用。并通过自己动手,自主得学习,对Java这门课程有更深得了解与认识。2 设计方案论证2.1 背景 随着计算机技术飞速发展及其应用领域的扩大

2、,特别是计算机网络和电子商务的发展,极大地改变了商业银行传统的经营和管理模式。能够为客户提供方便、快捷、安全的服务,也能有效降低银行的运营成本,这是银行管理系统追求的目标。目前,对于现代化银行运营的要求是客户可以实现随时随地的业务交易,银行职员可以进行高效合理的工作管理,实现银行业务电子化。2.2 需求分析2.2.1 功能需求通过银行管理系统一方面加快了客户的服务,提高的服务质量,另一方面减轻了员工的工作复杂度,提高了工作效益,实现银行帐户管理的系统化、规范化、自动化和智能化。系统具体实现的目标如下:(1)键盘操作,快速响应。(2)对用户输入的数据,系统会进行严格的数据检验,尽量避免了人为的错

3、误。(3)实现银行开户、取款、存款、查询、转账、修改密码等功能。(4)系统运行稳定,可靠。(5)系统应人性化,符合用户操作习惯。(6)使用控制台进行操作2.2.2 性能需求(1) 软件环境: Window XP(2)硬件环境: Pentium(R) Dual-Core CPU T7500 2.2GHZ 安装内存(RAM): 1.00GB 硬盘空间:160G2.3 总体设计 由客户端程序和服务器端程序构成,客户端运行在面向个人业务的银行柜台的电脑上,通过网络通讯向服务器发送请求并接受服务器端程序的应达显示处理的结果。服务器端处理客户端的各种业务请求。主要实现银行开户、取款、存款、查询、转账、修改

4、密码等功能。本程序主要实现银行开户、取款、存款、查询、转账、修改密码等功能。其中包括用户功能和管理员功能。进入程序后首先选择身份,身份确定后再进行相关的操作。 (1)用户功能用户功能包括:登录模块、主菜单模块、存款模块、取款模块、转账模块和查询模块以及退出功能。 (2)管理员功能 管理员功能包括:添加用户功能、删除用户功能、查询所有用户基本信息功能、打印用户清单功能以及退出功能。2.4 详细设计2.4.1 功能规划 用户功能 (1)用户登录功能输入用户名和密码,验证正确后进入系统。用户名和密码在程序中固定写死。表1 用户登录输入处理输出1、用户名2、密码1、密码有三次输入机会2、

5、验证用户名及密码3、用户名及密码正确后进入主菜单界面。如果用户名或者密码不正确,给用户一个友好提示并提示还有几次机会(2)主菜单功能输出主菜单(开户、存款、取款、查询、转账、修改密码、退出)供用户选择,然后根据用户的输入选择进入不同的系统功能。表2 主菜单功能输入处理输出1、菜单项编号1、验证用户输入的菜单项编号是否正确(06之间);2、根据用户的选择进入不同的功能界面。如果用户输入的菜单项编号不正确,给用户一个友好提示,并要求用户重新输入。(3) 存款功能 用户在输入账号和密码正确后可选择存款功能,需输入存款金额,金额要大于0小于账户余额。表3 输入存款的基本信息输入处理输出1、账户ID2、

6、存款金额1、输入的所有信息必填。2、验证账户ID3、存款金额大于0.00元如果用户输入的各项数据不正确,给用户一个友好提示,并要求用户重新输入。(4)取款功能表4 输入取款的基本信息输入处理输出1 账户ID、2 密码3取款金额1、输入的所有信息必填。2、验证账户ID。3、验证用户密码。4、取款金额大于0.00元,小于用户账户余额。如果用户输入的各项数据不正确,给用户一个友好提示,并要求用户重新输入。(5)转账功能表5 输入转账的基本信息输入处理输出1、账户ID2、密码3、金额4、对方账户ID1、输入的所有信息必填。2、验证账户ID;3、验证密码;4、转账金额大于0.00元,小于账户余额;如果用

7、户输入的各项数据不正确,给用户一个友好提示,并要求用户重新输入。(6) 查询功能表6 输入查询基本信息输入处理输出1、账户ID2、密码1、输入的所有信息必填。2、验证账户ID;3、验证密码;如果用户输入的各项数据不正确,给用户一个友好提示,并要求用户重新输入。(7)退出功能给客户退出提示,客户确认后,退出程序。 管理员功能(1)管理员添加用户功能输入用户的基本信息,添加账户。表7 添加用户功能输入处理输出1、用户姓名2、密码3、重复密码4、开户金额1、开户的所有信息必填2、录入的数据去除左右空格3、用户姓名4、密码5、密码和重复密码一致各项信息完全吻合,提示添加用户成功。(2)管

8、理员删除用户功能输入用户账号和密码,一致后删除。表8 删除用户功能输入处理输出1、用户姓名2、密码3、重复密码1、用户姓名2、密码3、密码和重复密码一致 如果输入的各项数据不正确则不能删除,用户姓名,账号,密码一致后才可删除。(3)查询顾客功能管理员可以查询所有用户的基本信息。(4) 打印清单功能 管理员可以查询用户基本信息,然后进行打印。(5)退出功能 给管理员退出提示,管理员确认后,退出程序。2.4.2 功能模块图图1 银行账户管理系统2.4.3 具体实现方法 在程序中定义了四个类,分别为:class DemoCust class Cust class Admin class KB (1)

9、DemoCust类中的方法只有main(),创建第一个菜单选项,即选择登录身份。按1是选择管理员,按2是选择用户,按3是退出。class DemoCust public static void main(String args) Admin a = new Admin();while (true)System.out.println(*);System.out.println(*管理员t1*);System.out.println(*用户tt2*);System.out.println(*退出tt3*);System.out.println(*);int c = KB.scanInt();sw

10、itch (c)case 1:a.run();break;case 2:System.out.println(请输入您的账号);int ID = KB.scanInt();int i = 0 ;for (i = 0 ; i a.v.size() ; i+ )Cust temp = (Cust)a.v.get(i);if (ID = temp.ID)temp.run(ID);break;if (i = a.v.size()System.out.println(用户不存在);System.out.println(欢迎下次光临);break;case 3:return;(2)Cust类中定义的方法有

11、checkPWD() zhuanZhang(Cust c) getM(int n) saveM(int n) run(Cust c) printMenu(), 定义的成员变量有: String name; int ID; int password; double money; static String bankName = 建设银行;一个Cust()构造函数 Cust(String name,int ID,int password,double money) = name; this.ID = ID; this.password = password; this.mone

12、y = money; 第二个菜单选项,用户的菜单模块。用户在进行账户和密码输入后,正确则进入菜单功能项,用户的功能有如下,取款、存款、查询、转账以及退出功能。static void printMenu()System.out.println(*);System.out.println(*取款t1*);System.out.println(*存款t2*);System.out.println(*查询t3*);System.out.println(*转账t4*);System.out.println(*退出t0*);System.out.println(*);(3) Admin类中有Admin()

13、,add(),delete(),printAll(),run()方法。管理员的功能有添加顾客,删除顾客,查询顾客,打印清单以及退出功能,用switch语句来进行选择,按1选择添加顾客,2选择删除顾客,3选择查询顾客,4选择打印清单,0选择退出。退出是并不是退出系统,而是退出管理员功能,再次进行确认,如果没有人继续登录则进行选择退出程序。void run()boolean flag = true;while (flag)System.out.println(*);System.out.println(*添加顾客t1*);System.out.println(*删除顾客t2*);System.ou

14、t.println(*查询顾客t3*);System.out.println(*打印清单t4*);System.out.println(*退出t0*);System.out.println(*);int cmd = KB.scan.nextInt();switch (cmd)case 1:this.add();break;case 2:this.delete();break;case 3:this.print();break;case 4:this.printAll();break;case 0:flag = false;break; 管理员添加顾客所需填入的顾客基本信息有:顾客姓名,账号,密

15、码以及开户金额。 void add()System.out.println(请输入姓名);String name = KB.scanString();System.out.println(请输入账号);int ID = KB.scanInt();System.out.println(请输入密码);int password = KB.scanInt();System.out.println(请输入开户金额);double money = KB.scanDouble();Cust temp = new Cust(name,ID,password,money);v.add(temp);管理员可以查询

16、顾客的基本信息,需输入顾客的账号,如果没有该顾客,系统会有提示信息,告诉管理员没有该顾客。 void print()System.out.println(请输入要查询顾客的账号);int ID = KB.scanInt();int i = 0 ;for (i = 0 ; i v.size() ; i+ )Cust temp = (Cust)v.get(i);if (temp.ID = ID)temp.print();break;if (i = v.size()System.out.println(没有该顾客);(4) KB类中有static int scanInt(),static Strin

17、g scanString(),static Double scanDouble()方法。为了解决冗余问题,定义了KB类。class KB static Scanner scan = new Scanner(System.in);static int scanInt()return scan.nextInt();static String scanString()return scan.next();static Double scanDouble()return scan.nextDouble();3 运行结果及分析: (1)运行程序,会出现选择界面,登陆者首先确认身份。选择管理员后出现管理员

18、菜单模块,管理员的功能有添加用户,删除用户,查询用户,打印清单和退出功能。管理员添加用户时要填写账户的基本信息。如图2所示。图2 管理员菜单(2)用户进入菜单选项。选择用户选项时,用户要输入账号和密码,全部正确后,进入主菜单模块,用户可进行选择,用户的功能有存款、取款、查询、转账、退出功能。用户在进行存取款时,存款金额要大于0,取款金额要大于0小于账户余额。用户转账时,要正确输入对方账号,转账余额要大于等于0小于自己账户的余额。用户在操作完毕后退出,用户进行确认后,退出程序。如图3所示。图3 用户菜单 (3)用户查看基本资料。由主菜单可以看出用户按1为取款、2为存款、3为查询用户基本资料、4为

19、转账、0为退出。如图4所示,为用户按3键后查询到账户资料的界面,可看出用户名为张小红,用户ID为333,用户的余额为3000元,所在银行为建设银行。图4 用户查询界面4 心得体会在这次课程设计中,让我学会了如何去完成一个任务,去解决一个问题。当遇到问题要冷静,想办法一点一点的排除障碍,到最后获取成功,这应该就是学习的乐趣。有时候不懂的就需要问别人了,虚心请教,从别人的身上真的能学到自己没有的东西,每一次的挫折都会使我更接近成功。还有学会了在工作中与别人的合作与交流。这次课程设计在老师和同学那里学到了很多东西,使自己在处理问题方面有了很大的提高。课程设计最大的一个不足就是运行时用的是dos界面,

20、在以后的学习中我会不断地改进,使程序能真正的再客户端和服务器端同时运行,并设计出漂亮的界面。课程设计中要求有扎实的理论基本知识,操作起来才顺心应手,我这时才明白什么是“书到用时方恨少”。这就激发了学习的欲望。“纸上得来终觉浅,绝知此事要躬行!”,在短暂的实训过程中,让我深深感受到自己在实际运用中专业知识的匮乏。以前总以为自己学的还不错,一旦应用到实际就大不一样了。参考文献1 王国辉, 吕海涛. Java数据库系统开发案例精选M. 北京:人民邮电出版社2 陈国君, 陈锡祯. Java2程序设计基础M. 北京: 清华大学出版社3 袁海燕. Java实用程序设计100例M. 北京: 人民邮电出版社4

21、 朱站立、沈伟. Java程序设计实用教程M. 电子工业出版社5 印旻编、许伟. Java2从入门到精通M.北京那个:清华大学出版社6 刘彦明. Java语言及其程序设计M.西安电子科技大学出版社7 廖卫东, 陈梅. Java程序设计M.机械工业出版社附录class DemoCust public static void main(String args) Admin a = new Admin();while (true)System.out.println(*);System.out.println(*管理员t1*);System.out.println(*用户tt2*);System.o

22、ut.println(*退出tt3*);System.out.println(*);int c = KB.scanInt();switch (c)case 1:a.run();break;case 2:System.out.println(请输入您的账号);int ID = KB.scanInt();int i = 0 ;for (i = 0 ; i a.v.size() ; i+ )Cust temp = (Cust)a.v.get(i);if (ID = temp.ID)temp.run(ID);break;if (i = a.v.size()System.out.println(用户不存

23、在);System.out.println(欢迎下次光临);break;case 3:return;class CustString name;int ID;int password;double money;static String bankName = 建设银行;/构造函数Cust(String name,int ID,int password,double money) = name;this.ID = ID;this.password = password;this.money = money;public boolean checkPWD()System.out.

24、println(请输入您的密码);for (int i = 0 ; i 3 ; i+ )int password = KB.scan.nextInt();if (password != this.password)if (i != 2)System.out.println(密码错误,请重新输入);elsereturn true;return false;void zhuanZhang(Cust c)System.out.println(请输入转账的账号);int ID = KB.scan.nextInt();int i = 0 ;for (i = 0 ; i =0)if (this.getM(

25、money)ci.saveM(money);elseif (ci.checkPWD()if (ci.getM(-money)this.saveM(-money);elseSystem.out.println(密码错误,不能反转账);break;if (i = c.length)System.out.println(用户不存在);boolean getM(int n)if (nmoney)System.out.println(不能透支);return false;money -= n;return true;void saveM(int n)this.money += n;void print(

26、)System.out.println(name:t+);System.out.println(ID:t+this.ID);System.out.println(money:t+this.money);System.out.println(bankName:t+this.bankName);void run(Cust c)if (this.checkPWD() = false)System.out.println(密码错误超过3次);return;boolean flag = true;while (flag)printMenu();int cmd = KB.scan.nex

27、tInt();switch (cmd)case 1:System.out.println(请输入取款金额);int n1 = KB.scan.nextInt();this.getM(n1);break;case 2:System.out.println(请输入存款金额);int n = KB.scan.nextInt();this.saveM(n);break;case 3:this.print();break;case 4:this.zhuanZhang(c);break;case 0:flag = false;break;static void printMenu()System.out.

28、println(*);System.out.println(*取款t1*);System.out.println(*存款t2*);System.out.println(*查询t3*);System.out.println(*转账t4*);System.out.println(*退出t0*);System.out.println(*);class KB static Scanner scan = new Scanner(System.in);static int scanInt()return scan.nextInt();static String scanString()return scan.next();static Double scanDouble()return scan.nextDouble();class Admin Vector v;Admin()v = new Vector();v.add(new Cust(小明,111,111,1000);v.add(new Cust(小红,222,222,2000);v.add(new Cust(小刚,333,333,3000);v.add(new Cust(小强,444,444,4000);void add()System.out.println(请输入姓名);String nam

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论