银行帐户管理系统-Java课程设计.doc
《银行帐户管理系统-Java课程设计.doc》由会员分享,可在线阅读,更多相关《银行帐户管理系统-Java课程设计.doc(23页珍藏版)》请在咨信网上搜索。
(完整word)银行帐户管理系统 Java课程设计 课 程 设 计 课程设计名称: java课程设计 专 业 班 级 : 计科09级05班 学 生 姓 名 : 刘品训 学 号 : 200948140507 指 导 教 师 : 王社伟 课程设计时间: 2011。12.12-2011。12.23 计算机科学与技术 专业课程设计任务书 学生姓名 刘品训 专业班级 计科09005 学号 200948140507 题 目 银行帐户管理系统 课题性质 工程设计 课题来源 自拟课题 指导教师 王社伟 同组姓名 无 主要内容 如今随着银行信誉的不断提高,人们对银行储蓄愈加依赖,因此银行需要一个更加完善的处理系统,来满足顾客以及银行管理人员的使用,因此我选择该题目,来尝试一下。银行帐户管理系统顾名思义就是对银行帐户的信息进行操作,在主界面提示用户进行选择操作,从而进行账户信息的添加,修改,删除,查询,存款,贷款以及还钱等功能,从而方便用户及管理人员的使用,提高银行的工作效率,为用户节省时间。 任务要求 综合运用所学的JAVA程序设计基本知识,并能通过查阅相关文献材料,独立完成该课题的设计开发工作。要求根据本课题设计合理的数据结构,并实现①添加帐户信息②删除帐户信息③修改帐户信息④查询帐户信息⑤浏览帐户信息⑥存款⑦贷款⑧还钱等功能模块。 采用SQL Sever2005 ,Java开发工具进行开发实现. 根据系统功能,结合软件开发流程,完成设计报告的撰写. 参考文献 [1] (美)Cay S。 Horstmann、Gary Cornell. Java核心技术卷I:基础知识(第8版)(英文影印版)。人民邮电出版社, 2008.11 [2] 耿祥义、张跃平. JAVA2实用教程(修订)。 清华大学出版社,2001。10 [3] 尹志宇,郭晴。数据库原理与应用教程:SQLServer。 清华大学出版社,2010。5 [4] 袁然、郑自国、邹丰义著。java案例开发集锦。电子工业出版社,2005.9 审查意见 指导教师签字: 教研室主任签字: 银行帐户管理系统 一、需求分析 银行账户管理系统中,主要有以下功能: 1。添加账户:主要增加账户的账号,姓名,以及所存的金额. 2.删除账户:根据输入的账号,删除该账户的信息. 3.修改账户信息:根据输入的账号,修改账户的信息。 4.查询账户信息:根据输入的账号,查询并显示出该账户的相关信息. 5.浏览:浏览数据库中的各个账户的信息。 6。存款:输入账号,并向该账号存钱,同时并记录下来. 7。贷款:输入账号和贷款单号向该账户贷款,并记录下来。 8。还钱:输入账号和贷款单号付贷款钱,同时并显示还有多少贷款未付. 二、概要设计 课程设计模块图: 银行帐户管理系统 查 询 账 户 信 息 浏 览 存 款 还 钱 贷 款 修 改 账 户 信 息 选择操作 添 加 账 户 删 除 账 户 系统流程图: 程序开始 功能操作 退出 删除账户 修改账户信息 查询账户信息 浏览 存款 贷款 还钱 输入信息 修改成功 输入账号 添加账户信息 判断 Y 输入账号 输入账号 输入账号 输入账号 输入账号 判断 判断 判断 判断 判断 N N N Y Y Y Y Y 输出信息 修改信息 存款 贷款 返回功能操作界面 输入贷款单号 判断 Y N 还钱 删除成功 添加成功 存款成功 贷款成功 删除账户 还钱 成功 三、运行环境、开发语言 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。*; import javax。swing。*; public class Bank { public static String driverName = ”com。microsoft.sqlserver.jdbc。SQLServerDriver”; //加载JDBC驱动 public static String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=银行管理系统"; //连接服务器和数据库 public static String userName = "liu"; //默认用户名 public static 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 Exception { while(m) { System。out。println(”--——--------—--银行账户管理系统----——----——-—-”); System.out。println(” 1:添加账户 2:删除账户"); System.out.println(” 3:修改账户信息 4:查询账户信息"); System.out.println(” 5:浏览 6:存款"); System。out.println(" 7:贷款 8:还钱"); System.out.println(" 9:退出 ”); System。out.println(”--———--—---—-请输入您要进行的服务--—---———”); N=scanner。nextInt(); switch(N) { case 1: insert(); break; case 2: del(); break; case 3: update(); break; 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 { try{ Class.forName(driverName);//载入驱动 dbconn = DriverManager。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(); String sql = ”insert into 账户信息 (账号,姓名,金额) values('"+ num +”',’”+ name +”',’”+ jine +”’)";//向表中插入信息 System。out。println(”信息已插入!"); Statement stmt = dbconn。createStatement(); stmt。executeUpdate(sql); stmt.close(); } catch(Exception e) {} m = true; } 2。4删除账户 public static void del()throws Exception { try { String 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 账户信息”; System.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 = "delete 账户信息 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(); stmt1.close(); } catch (Exception e) { } m= true; } 2。5修改账户信息 public static void update() throws Exception { try { String num=null,name=null ; int jine=0; String a = null; Class.forName(driverName);//载入驱动 dbconn = DriverManager。getConnection(dbURL,userName,userPwd);//连接数据库 System。out。print(”请输入您要修改账号:"); String sql1 = ”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(”请输入您更改的姓名:"); name = 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 姓名 = '”+ name +”' where 账号 = '"+ num +"'update 账户信息 set 金额 = '"+ jine +”' where 账号 = ’"+ num +"'"; Statement stmt = dbconn.createStatement(); System.out.println(”数据已更改”); stmt.executeUpdate(sql2); stmt.close(); } catch (Exception e) { } m = true; } 2。6查询账户信息 public static void serch()throws Exception { try { String 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("请输入账号”); String 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 = rs1.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 (Exception e) { } } 2.7浏览全部账户信息 public static void liulan()throws Exception { try { Class。forName(driverName);//载入驱动 dbconn = DriverManager。getConnection(dbURL,userName,userPwd);//连接数据库 String sql = ”select * from 账户信息 "; Statement stmt = dbconn.createStatement(); ResultSet rs = stmt。executeQuery(sql); System。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 static void cunkuan()throws Exception { try{ Class。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。createStatement(); 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.print(”请输入存款的日期"); Cundate =scanner。next(); String sql2 = "insert into 存款 (账号,存钱金额,存钱日期) values('”+ num +"','"+ jine1 +”’,’”+ Cundate +”')"; jine2=rs.getInt("金额"); jine=jine1+jine2; String sql3 = "update 账户信息 set 金额 = ’”+ 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(); stmt.close(); } catch (Exception e) { } m = true; } 2.9贷款 public static void daikuan()throws Exception { try{ Class。forName(driverName);//载入驱动 dbconn = DriverManager。getConnection(dbURL,userName,userPwd);//连接数据库 String sql1 = ”select * from 账户信息"; Statement stmt1 = dbconn.createStatement(); ResultSet rs = stmt1。executeQuery(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 = 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 +"’,'”+ dainum +”’,'”+ daijine +"','”+ daidate +"’)”; System。out.println(”贷款成功!"); Statement stmt = dbconn。createStatement(); stmt.executeUpdate(sql); stmt.close(); break; } else { System.out。println("您输入的账号错误或者不存在,请重新输入:"); num = scanner。next(); rs = stmt1.executeQuery(sql1); } } } catch(Exception e) {} m = true; } 2.10还钱 public static void huanqian()throws Exception { try{ Class。forName(driverName);//载入驱动 dbconn = DriverManager.getConnection(dbURL,userName,userPwd);//连接数据库 String sql1 = "select * from 账户信息"; String sql2 = ”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=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) { 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 = 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 还钱 (账号,贷款单号,还钱金额,还钱日期) values('"+ num +”','"+ dainum +”',’"+ huanjine +”’,’"+ huandate +"')"; System.out。println(”还钱成功!"); int d=0; d=rs2。getInt("贷款金额”); int e=0; e=d-huanjine; String sql6 = ”update 贷款 set 贷款金额 = '”+ 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 h=0; h=f+g; String sql5 = "update 账户信息 set 金额 = ’"+ h +”’ where 账号 = ’"+ num +"’”; stmt1.executeUpdate(sql5); } stmt2。executeUpdate(sql4); break; } else { System.out.println("您输入的贷款单号错误或者不存在,请重新输入:"); dainum = scanner。next(); rs2 = stmt2.executeQuery(sql2); } } break; } else { System。out。println("您输入的账号错误或者不存在,请重新输入:"); num = scanner。next(); rs1 = stmt1。executeQuery(sql1); } } } catch(Exception e) {} m = true; } 五、调试与分析 问题1:遇到的第一个问题是如何用java连接数据库,根据查资料以及问同学才学会; 问题2:是在写还钱这一模块,用了4重循环,无法同步实现账号和贷款单号的同步判定,经过自己仔细的调试,才发现问题,用不同的表进行逐步循环才解决问题; 问题3:在贷款和还钱这一模块,在还钱的时候,忘记设置贷款表内的数据与还钱要同步. 六、功能测试 图1:银行账户管理系统主界面 图2添加账户 图3:删除账户 图4:修改账户 图5:查询账户 图6:浏览 图7:存款 图8:贷款 图9:还钱 七、结论与心得 这次实验可以说是完美的也可以说是不完美的,完美的就是在这次实验中熟练掌握了用java连接数据库,以及调用数据库中的数据,比如说调用表,以及修改表等操作,同时也让自己更进一步的熟练的编写程序,可以说这次实验对自己的java学习是完美的.但是这次实验也是不完美的,感觉实验的时间太短,中间还有很多考试,以至于自己写实验的时间减少了许多,感觉自己还有好多功能可以添加比如说交易历史的浏览,统计,还有就是是否可以输入时重置等等. 经过这次试验,让我深深的感受到了“一分耕耘,一分收获”,写程序的确是挺消耗时间的,不过自己也在熟练或掌握一些知识。可以说这实验有很大的收获 八、参考资料 [1] (美)Cay S。 Horstmann、Gary Cornell. Java核心技术卷I:基础知识(第8版)(英文影印版)。人民邮电出版社, 2008。11 [2] 耿祥义、张跃平. JAVA2实用教程(修订). 清华大学出版社,2001.10 [3] 尹志宇,郭晴.数据库原理与应用教程:SQLServer. 清华大学出版社,2010.5 [4] 袁然、郑自国、邹丰义著.java案例开发集锦。电子工业出版社,2005.9- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 银行帐户 管理 系统 Java 课程设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文