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

下载本文档

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

文档简介

1、课程设计课程设计名称:专业班级:学生姓名:学 号:指导教师:java课程设计计科09级05班刘品训200948140507王社伟课程设计时间:2011.12.12-2011.12.23计算机科学与技术专业课程设计任务书学生姓名刘品训专业班级计科09005学号200948140507题目银行帐户管理系统课题性质工程设计课题来源自拟课题指导教师王社伟同组姓名无主要内容如今随着银行信誉的不断提高,人们对银行储蓄愈加依赖,因此 银行需要一个更加完善的处理系统, 来满足顾客以及银行管理人员的 使用,因此我选择该题目,来尝试一下。银行帐户管理系统顾名思义 就是对银行帐户的信息进行操作,在主界面提示用户进行

2、选择操作, 从而进行账户信息的添加,修改,删除,查询,存款,贷款以及还钱 等功能,从而方便用户及管理人员的使用,提高银行的工作效率,为 用户节省时间。任务要求综合运用所学的JAVA程序设计基本知识,并能通过查阅相关文献 材料,独立完成该课题的设计开发工作。要求根据本课题设计合理的 数据结构,并实现添加帐户信息删除帐户信息修改帐户信息 查询帐户信息浏览帐户信息存款贷款还钱等功能模块。米用SQL Sever2005 , Java开发工具进行开发实现。根据系统功能,结合软件开发流程,完成设计报告的撰写。参考文献1(美)Cay S. Horstmann、Gary Cornell. Java核心技术卷

3、I:基础知识(第8版)(英义影印版).人民邮电出版社,2008.112耿祥义、张跃平.JAVA2实用教程(修订).清华大学出版社, 2001.103尹志宇,郭晴.数据库原理与应用教程:SQLServer.清华大学出版 社,2010.54袁然、郑自国、邹丰义著.java案例开发集锦.电子工业出版社,2005.9审查意见指导教师签字:教研室主任签字:银行帐户管理系统一、需求分析银行账户管理系统中,主要有以下功能:1 .添加账户:主要增加账户的账号,姓名,以及所存的金额。2 .删除账户:根据输入的账号,删除该账户的信息。3 .修改账户信息:根据输入的账号,修改账户的信息。4 .查询账户信息:根据输入

4、的账号,查询并显示出该账户的相关信息。5 .浏览:浏览数据库中的各个账户的信息。6 .存款:输入账号,并向该账号存钱,同时并记录下来。7 .贷款:输入账号和贷款单号向该账户贷款,并记录下来。8 .还钱:输入账号和贷款单号付贷款钱,同时并显示还有多少贷款未付。二、概要设计课程设计模块图:银行帐户管理系统贷 款还 钱选择操作添 加 账 户删 除 账 户浏 览存 款查询账户信息修改账户信息系统流程图:程序开始输入账号*N.!轮入账号判断,输入账号判断N输入账号,输入账号输入账号工输入信息判断判断N判 断输 入 贷 款 单 号YYYYY判 断删 除 账 户Y贷款存款输出信息修改信息,判断NY,贷款成功

5、,存款成功修改成功,删除成功添加成功还钱 成功返回功能操作界面三、运行环境、开发语言1:Windows xp,DOS,Microsoft SQL Server 2005;2:Java , SQL Server。四、详细设计1程序清单表1程序清单函数名功能Main ()函数操作系统insert()添加账户信息del()删除账户update()修改账户信息serch()查询账户信息liulan()浏览cunkuan()存款daikuan()贷款huanqian()还钱2主要代码2.1 建立Bank公共类,并连接数据库 import java.sql.*;import java.util.*;imp

6、ort javax.swing.*;public class Bank public static String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver" 加 载JDBC驱动public static String dbURL = "jdbc:sqlserver:/localhost:1433; DatabaseName=IR行管理系 统”;连接服务器和数据库public static String userName = "liu"默认用户名public static

7、 String userPwd = "518888k”; 密码public static Connection dbconn;static boolean m = true;static int N;private static Scanner scanner = new Scanner(System.in); 2.2 主函数银行账户管理系统主界面public static void main(String srg) throws Exceptionwhile(m)银行账户管理系统");System.out.println(System.out.println("

8、 1 :添加账户2:删除账户");System.out.println("3:修改账户信息4:查询账户信息");System.out.println(System.out.println(System.out.println(System.out.println(5:浏览7:贷款9:退出请输入您要进行的服务6:存款");8:还钱");");");N=scanner.nextInt();switch(N)case 1:insert();break;case 2:del();break;case 3:update();break

9、;case 4:serch();break;case 5:liulan();break;case 6:cunkuan();break;case 7:daikuan();break;case 8:huanqian();break;case 9: m =false;break;default:System.out.println(" 请在1-9 之间选择");2.3 添加账户功能public static void insert() throws Exception tryClass.forName(driverName);/ 载入驱动dbconn = DriverManage

10、r.getConnection(dbURL,userName,userPwd);/ 连接数据库String num=null,name=null;int jine=0;System.out.println(" 请输入您要添加的数据");System.out.print(" 账号 ");num = scanner.next();System.out.print(" 姓名");name = scanner.next();System.out.print(" 金额");jine= scanner.nextInt();St

11、ring sql = "insert into 账户信息(账号, 姓名,金额) values('"+ num +"','"+ name+"','"+ jine +"')"/ 向表中插入信息System.out.println(" 信息已插入!");Statement stmt = dbconn.createStatement();stmt.executeUpdate(sql);stmt.close();catch(Exception e) m =

12、true;2.4 删除账户public static void del()throws ExceptiontryString num=null,name=null ;int jine=0;String a = null;Class.forName(driverName);/ 载入驱动dbconn = DriverManager.getConnection(dbURL,userName,userPwd);/ 连接数据 库System.out.println("- 删除账户-");String sql1 = "select * from 账户信息"Syste

13、m.out.print(" 请输入您要删的账号");Statement stmt1 = dbconn.createStatement();ResultSet rs = stmt1.executeQuery(sql1);num = scanner.next();int flag=0;while(!num.equals("0")while(rs.next()a = null;a = rs.getString("账号");if(num.equals(a)flag=1;break;if(flag=1)String sql2 = "d

14、elete 账户信息where 账号 = '"+ num + "Statement stmt2 = dbconn.createStatement();stmt2.executeUpdate(sql2);stmt2.close();System.out.println(" 数据已删除!");break; else");System.out.println(" 您输入的账号错误或者不存在,请重新输入:num = scanner.next();rs = stmt1.executeQuery(sql1);rs.close();stmt

15、1.close();catch (Exception e) m= true;2.5 修改账户信息public static void update() throws ExceptiontryString num=null,name=null ;int jine=0;String a = null;Class.forName(driverName);/ 载入驱动dbconn = DriverManager.getConnection(dbURL,userName,userPwd);/ 连接数据库System.out.print(" 请输入您要修改账号:");String sq

16、l1 = "select * from 账户信息"Statement stmt1 = dbconn.createStatement();ResultSet rs = stmt1.executeQuery(sql1);num = scanner.next();int flag=0;while(!num.equals("0")while(rs.next()a = null;a = rs.getString("账号");if( num.equals(a)System.out.print(" 请输入您更改的姓名:");na

17、me = scanner.next();System.out.print(" 请输入您更改的金额");jine = scanner.nextInt();flag=1; break;if(flag=1) break;else System.out.println(" 您输入的账号错误或者不存在,请重新输入:");num = scanner.next();rs = stmt1.executeQuery(sql1);rs.close();stmt1.close();String sql2 = "update 账户信息set 姓名 = '&qu

18、ot;+ name +"' where 账号 = '"+ num+"'update 账户信息set 金额 = '"+ jine +"' where 账号 = '"+ num +"'"Statement stmt = dbconn.createStatement();System.out.println(" 数据已更改");stmt.executeUpdate(sql2);stmt.close();catch (Exception e)m =

19、 true;2.6 查询账户信息public static void serch()throws ExceptiontryString num= null,name = null ;int jine=0;String a=null;Class.forName(driverName);/ 载入驱动dbconn = DriverManager.getConnection(dbURL,userName,userPwd);/ 连接数据 库System.out.println("- 按账号查询-");System.out.print(" 请输入账号");Strin

20、g sql1 = "select * from 账户信息"Statement stmt1 = dbconn.createStatement();ResultSet rs1 = stmt1.executeQuery(sql1);num = scanner.next();int flag=0;while(!num.equals("0")while(rs1.next()a = null;a = rs1.getString(" 账号 ");if(num.equals(a) flag = 1;break;if(flag = 1)name = r

21、s1.getString(" 姓名 ");jine = rs1.getInt(" 金额 "); break;else System.out.println(" 您输入的账号错误或者不存在,请重新输入:");num = scanner.next(); rs1 = stmt1.executeQuery(sql1);System.out.println(" 账号姓名金额 ");System.out.printf("%s %s %s %n",num,name,jine); m = true;catch

22、(Exception e)2.7 浏览全部账户信息public static void liulan()throws ExceptiontryClass.forName(driverName);/ 载入驱动dbconn = DriverManager.getConnection(dbURL,userName,userPwd);/ 连接数据库String sql = "select * from 账户信息"Statement stmt = dbconn.createStatement();ResultSet rs = stmt.executeQuery(sql);System

23、.out.println(" 账号姓名金额 ");while(rs.next() String num = rs.getString(" 账号 ");String name = rs.getString(" 姓名 ");int jine = rs.getInt(" 金额");System.out.printf("%s%s %s %n",num,name,jine); rs.close();stmt.close();catch (Exception e) m = true;2.8 存款public

24、 static void cunkuan()throws ExceptiontryClass.forName(driverName);/ 载入驱动dbconn = DriverManager.getConnection(dbURL,userName,userPwd);/ 连接数据库System.out.print(" 请输入账号");String num=scanner.next();String Cundate=null;String sql1 = "select * from 账户信息"Statement stmt = dbconn.createSt

25、atement();ResultSet rs = stmt.executeQuery(sql1);int flag=0;int jine=0,jine1=0,jine2=0;while(!num.equals("0")while(rs.next()String a = null;a = rs.getString("账号");if( num.equals(a)flag=1;break;if(flag=1)System.out.print(" 请输入要存入的金额");jine1 = scanner.nextInt();System.out

26、.print(" 请输入存款的日期");Cundate =scanner.next();String sql2 = "insert into 存款 (账号 , 存钱金额,存钱日期) values('"+num +"','"+ jine1 +"','"+ Cundate +"')"jine2=rs.getInt(" 金额 ");jine=jine1+jine2;String sql3 = "update 账户信息set

27、金额 = '"+ jine +"' where 账号 ='"+ num +"'"System.out.println(" 存款成功");stmt.executeUpdate(sql2);stmt.executeUpdate(sql3);break; else System.out.println(" 您输入的账号错误或者不存在,请重新输入:");num = scanner.next();rs = stmt.executeQuery(sql1);rs.close(); stm

28、t.close();catch (Exception e)m = true;2.9 贷款public static void daikuan()throws ExceptiontryClass.forName(driverName);/ 载入驱动dbconn = DriverManager.getConnection(dbURL,userName,userPwd);/ 连接数据库String sql1 = "select * from 账户信息"Statement stmt1 = dbconn.createStatement();ResultSet rs = stmt1.e

29、xecuteQuery(sql1);String num=null,dainum=null,daidate=null;int daijine=0;System.out.println(" 请输入您的账号");System.out.print(" 账号 ");num = scanner.next();int flag=0;while(!num.equals("0")while(rs.next()String a = null;a = rs.getString(" 账号 ");if(num.equals(a)flag

30、= 1; break;if(flag = 1) System.out.print(" 请输入您的贷款单号");dainum = scanner.next();System.out.print(" 请输入您要贷的金额");daijine= scanner.nextInt();System.out.print(" 请输入您贷款的日期");daidate=scanner.next();String sql = "insert into 贷款 (账号,贷款单号,贷款金额,贷款日期)values('"+ num +&

31、quot;','"+ dainum +"','"+ daijine +"','"+ daidate +"')"System.out.println(" 贷款成功!");Statement stmt = dbconn.createStatement();stmt.executeUpdate(sql);stmt.close();break; elseSystem.out.println(" 您输入的账号错误或者不存在,请重新输入:")

32、;num = scanner.next();rs = stmt1.executeQuery(sql1); catch(Exception e) m = true;2.10 还钱 public static void huanqian()throws Exception tryClass.forName(driverName);/ 载入驱动dbconn = DriverManager.getConnection(dbURL,userName,userPwd);/ 连接数据库String sql1 = "select * from 账户信息"String sql2 = &quo

33、t;select * from 贷款 "/String sql3 = "select * from 贷款 "Statement stmt1 = dbconn.createStatement();Statement stmt2 = dbconn.createStatement();ResultSet rs1 = stmt1.executeQuery(sql1);ResultSet rs2 = stmt2.executeQuery(sql2);/ResultSet rs3 = stmt.executeQuery(sql3);String num=null,dainum

34、=null,huandate=null;int huanjine=0;System.out.println(" 请输入您的账号");System.out.print(" 账号 ");num = scanner.next();int flag=0;int b=0;while(!num.equals("0")while(rs1.next()String a = null;a = rs1.getString(" 账号 ");if(num.equals(a)flag = 1;break;if(flag = 1)"

35、);System.out.print(" 请输入您的贷款单号 dainum = scanner.next();while(!dainum.equals("0")/String c= null;/c = rs2.getString(" 贷款单号");/int d=0;/d=rs2.getInt(" 贷款金额");/int g=0;/g=rs1.getInt(" 金额 ");while(rs2.next()/System.out.print("aaa");String c= null;c

36、= rs2.getString(" 贷款单号");/System.out.printf("%s %n",c); if(dainum.equals(c) b = 1;break;if(b = 1)System.out.print(" 请输入您要还的金额");huanjine= scanner.nextInt();System.out.print(" 请输入您还钱的日期");huandate= scanner.next();String sql4 = "insert into 还钱 (账号 ,贷款单号,还钱金

37、额,还钱日期 ) values('"+ num +"','"+ dainum +"','"+ huanjine +"','"+ huandate +"')"System.out.println(" 还钱成功!");int d=0;d=rs2.getInt(" 贷款金额");int e=0; e=d-huanjine;String sql6 = "update 贷款 set 贷款金额= '

38、;"+ e +"' where 账号= '"+ num +"'"stmt2.executeUpdate(sql6);if(e>=0) System.out.println(" 您还有 " + e+ " 未付 "); else int f=0;f=0-e;System.out.println(" 您多支付了"+f+" 多支付的金额已存入您的账户 ");int g=0; g=rs1.getInt(" 金额 "); int

39、 h=0;h=f+g;String sql5 = "update 账户信息set 金额 = '"+ h +"' where账号 = '"+ num +"'"stmt1.executeUpdate(sql5);stmt2.executeUpdate(sql4);break;elseSystem.out.println(" 您输入的贷款单号错误或者不存在,请重新输入:");dainum = scanner.next();rs2 = stmt2.executeQuery(sql2);bre

40、ak;elseSystem.out.println(" 您输入的账号错误或者不存在,请重新输入:");num = scanner.next();rs1 = stmt1.executeQuery(sql1);catch(Exception e)m = true;五、调试与分析问题 1:遇到的第一个问题是如何用java 连接数据库,根据查资料以及问同学才学会;问题2:是在写还钱这一模块,用了4 重循环,无法同步实现账号和贷款单号的同步判定,经过自己仔细的调试,才发现问题,用不同的表进行逐步循环才解决问题;问题 3:在贷款和还钱这一模块,在还钱的时候,忘记设置贷款表内的数据与还钱

41、要同步。六、功能测试图1:银行账户管理系统主界面崛 C: WINDOW5sy5tem32cmd. exe - java Bank.icrosof t Min do us XP 版率 5.1.2600 C> 版权所有 1985-2001 Microsoft Corp.:XDocuments and Sett ings fldiiinistpatop>d :X>cd jaua:XJaua>jauac Bank.jaua:XJaua>jaua Bank银行账户管理系统 账户,:修改账户信息 :浏览9:退4:6 :8 :户户 账账 删查存还请输入您要进行的服务-|n| x

42、|户户 账账 n 删查存还图2添加账尸ISS C: WINDOWSsysl:em32cmd. exe - java Bank:XJaua>jaua Bank银行账户管理系统一-1:靠加账户2 :3:海改账户信息4:5:浏览6:L贷款8:9 退出:-一请输入您要进行的服务- 请输入您要添加的数据账号的4名可§2603言息已插入!银行账户管理系统1:费加账户2:删除账户3:修改账户信息4:查询账户信息7:舞8:fi9 退.出二一请输入您要进行的服务咤.姓名金额0012560002bbb350003CC650口 Mliu2603MJLLMLA/ULL时 UlWINDO园56y1觉号m

43、3mmdewe - java Bank、额 26 H3言息已插入1:3;银行账户管理系统-一希加账户2:修改账户信息4:浏览6-账户账户信息7t请输入您要进行的服务一账号姓名金额001附2560002bbb350003CC6S0米niULLAUL图4:修改账户W C AWIWOW5sy5tem32Cmd.eKe -java Bank7;户总 要账信 您行户户 入银账账 输一加改练雷请一需浏翼一删查速*«! Bl*2 4 6 8账户唳户信息。八您要修改账F 001 ,入您更改的姓名;!« 市人您更改的奎籁652粮行账户管理系统1:霰加账户3:蹄A黛账户信息删除账户 查询账户信息9 退出一一-请输入您要进行的服三账号姓名金额> 1001hu65230£bbb350003cc650米140/MJLL图5:查询账户国 C :WINDOW5sy5tem32cmd-eKe - java Bank行户户 入 银账账 输 一加改翼雷请 一添好浏侍|<二删查速»+ 2 4 6 8赚户簸户信息芨账号查询 请福入账事膻Q2 bbb金额 延07:8 j

温馨提示

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

评论

0/150

提交评论