版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计For personal use only in study and research; not for commercial useFor personal use only in study and research; not forcommercial use课程设计名称:java课程设计专业班级:计科09级05班学生姓名:刘品训学号:一0507指导教师:王社伟课程设计时间:计算机科学与技术专业课程设计任务书学生姓名刘品训专业班级计科09005学号0507题目银行帐户管理系统课题性质工程设计课题来源自拟课题指导教师王社伟同组姓名无主要内容如今随着银行信誉的不断提高,人们对银行储蓄
2、愈加依赖,因此 银行需要一个更加完善的处理系统, 来满足顾客以及银行管理人员的 使用,因此我选择该题目,来尝试一下。银行帐户管理系统顾名思义 就是对银行帐户的信息进行操作,在主界面提示用户进行选择操作, 从而进行账户信息的添加,修改,删除,查询,存款,贷款以及还钱 等功能,从而方便用户及管理人员的使用,提高银行的工作效率,为 用户节省时间。任务要求综合运用所学的JAVA程序设计基本知识,并能通过查阅相关文献 材料,独立完成该课题的设计开发工作。要求根据本课题设计合理的 数据结构,并实现添加帐户信息删除帐户信息修改帐户信息 查询帐户信息浏览帐户信息存款贷款还钱等功能模块。米用SQL Sever2
3、005,Java开发工具进行开发实现。根据系统功能,结合软件开发流程,完成设计报告的撰写。参考文献.1(美)Cay S. Horstmann、Gary Cornell. Java核心技术卷 I:基础知识(第8版)(英文影印版).人民邮电出版社,2008.11:2耿祥义、张跃平.JAVA2实用教程(修订).清华大学出版社, 2001.103尹志宇,郭晴.数据库原理与应用教程:SQLServer.清华大学出版 社,2010.54袁然、郑自国、邹丰义著.java案例开发集锦.电子工业出版社,2005.9指导教师签字:审查意见教研室主任签字:银行帐户管理系统、需求分析银行账户管理系统中,主要有以下功能
4、:1. 添加账户:主要增加账户的账号,姓名,以及所存的金额。2. 删除账户:根据输入的账号,删除该账户的信息。3修改账户信息:根据输入的账号,修改账户的信息。4. 查询账户信息:根据输入的账号,查询并显示出该账户的相关信息。5. 浏览:浏览数据库中的各个账户的信息。6. 存款:输入账号,并向该账号存钱,同时并记录下来。7. 贷款:输入账号和贷款单号向该账户贷款,并记录下来。8. 还钱:输入账号和贷款单号付贷款钱,同时并显示还有多少贷款未付。二、概要设计课程设计模块图:银行帐户管理系统系统流程图:选择操作二、运行环境、开发语言1:Wi ndows xp,DOS,Microsoft SQL Ser
5、ver 2005;2:Java , SQL Server。四、详细设计1程序清单表1程序清单函数名功能Main ()函数操作系统in sert()添加账户信息del()删除账户update()修改账户信息serch()查询账户信息liula n()浏览cun kua n()存款daikua n()贷款hua nqian()还钱2主要代码2.1建立Bank公共类,并连接数据库import java.sql.*;import java.util.*;import javax.swi ng.*;public class Bankpublic static String driverName = &q
6、uot;"/加载 JDBC 驱动public static String dbURL = "jdbc:; DatabaseName=银行管理系统"/连接服务器和数据库public static String userName = "liu"默认用户名public static String userPwd = "518888k"/ 密码public static Connection dbc onn;static boolea n m = true;static int N;private static Scanner se
7、anner = new Seanner(System.in);2.2 主函数银行账户管理系统主界面public static void main(String srg) throws Exceptionwhile(m)II"1"3"5"7"9II 银行账户管理系统 添加账户 修改账户信息 浏览 贷款 退出"); 2:删除账户 "); 4:查询账户信息 "); 6:存款 "); 8:还钱 ");");请输入您要进行的服务 N=scanner.nextInt(); switch(N) ca
8、se 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:" 请在 1-9 之间选择 ");2.3 添加账户功能public static void insert() throws Exce
9、ptiontryClass.forName(driverName);/ 载入驱动dbconn = DriverManager.getConnection(dbURL,userName,userPwd);/ 连接数据库String num=null,name=null;int jine=0;"请输入您要添加的数据 ");"账号 ");num = scanner.next();"姓名 ");name = scanner.next();"金额 ");jine= scanner.nextInt();String sql =
10、 "insert into 账户信息 (账号 ,姓名 ,金额 ) values('"+ num +"','"+ name +"','"+ jine +"')"/ 向表中插入信息"信息已插入! ");Statement stmt = dbconn.createStatement();stmt.executeUpdate(sql);stmt.close(); catch(Exception e) m = true;2.4 删除账户public stat
11、ic void del()throws Exception tryString num=null,name=null ;int jine=0;String a = null;Class.forName(driverName);/ 载入驱动dbconn = DriverManager.getConnection(dbURL,userName,userPwd);/ 连接数据 库"- 删除账户 -");String sql1 = "select * from 账户信息 "" 请输入您要删的账号 ");Statement stmt1 = db
12、conn.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 stm
13、t2 = dbconn.createStatement();stmt2.executeUpdate(sql2);stmt2.close();"数据已删除! ");break;else"您输入的账号错误或者不存在,请重新输入:");num = scanner.next();rs = stmt1.executeQuery(sql1);rs.close();stmt1.close();catch (Exception e)m= true;2.5 修改账户信息public static void update() throws ExceptiontryStrin
14、g num=null,name=null ;int jine=0;String a = null;Class.forName(driverName);/ 载入驱动dbconn = DriverManager.getConnection(dbURL,userName,userPwd);/ 连接数据 库" 请输入您要修改账号: ");String sql1 = "select * from 账户信息 "Statement stmt1 = dbconn.createStatement();ResultSet rs = stmt1.executeQuery(sq
15、l1);num = scanner.next();int flag=0;while(!num.equals("0")while(rs.next()a = null;a = rs.getString(" 账号 ");if( num.equals(a)"请输入您更改的姓名: ");name = scanner.next();"请输入您更改的金额 ");jine = scanner.nextInt();flag=1;break;if(flag=1)break;else"您输入的账号错误或者不存在,请重新输入:&
16、quot;);num = scanner.next();rs = stmt1.executeQuery(sql1);rs.close();stmt1.close();String sql2 = "update 账户信息 set 姓名 = '"+ name +"' where 账号 = '"+ num +"'update 账户信息 set 金额 = '"+ jine +"' where 账号 = '"+ num +"'"Stateme
17、nt stmt = dbconn.createStatement();" 数据已更改 ");stmt.executeUpdate(sql2);stmt.close();catch (Exception e) m = true;2.6 查询账户信息public static void serch()throws ExceptiontryString num= null,name = null ;int jine=0;String a=null;Class.forName(driverName);/ 载入驱动dbconn = DriverManager.getConnectio
18、n(dbURL,userName,userPwd);/ 连接数据 库"- 按账号查询 -");" 请输入账号 ");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 =
19、rs1.getString(" 账号 ");if(num.equals(a)flag = 1; break;if(flag = 1)name = rs1.getString(" 姓名 ");jine = rs1.getInt(" 金额 ");break;else"您输入的账号错误或者不存在,请重新输入: "); num = scanner.next();rs1 = stmt1.executeQuery(sql1);" 账号 姓名 金额 ");"%s %s %s %n",num
20、,name,jine);m = true;catch (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 =
21、stmt.executeQuery(sql);" 账号 姓名 金额 ");while(rs.next()String num = rs.getString(" 账号 ");String name = rs.getString(" 姓名 ");int jine = rs.getInt(" 金额 ");"%s %s %s %n",num,name,jine);rs.close();stmt.close();catch (Exception e)m = true;2.8 存款public static
22、 void cunkuan()throws ExceptiontryClass.forName(driverName);/ 载入驱动dbconn = DriverManager.getConnection(dbURL,userName,userPwd);/ 库" 请输入账号 ");String num=scanner.next();String Cundate=null;String sql1 = "select * from 账户信息 "Statement stmt = dbconn.createStatement();ResultSet rs = s
23、tmt.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)"请输入要存入的金额 ");jine1 = scanner.nextInt();"请输入存款的日期 ");Cundate =scanner.next();Str
24、ing sql2 = "insert into 存款 (账号 , 存钱金额 ,存钱日期 ) num +"','"+ jine1 +"','"+ Cundate +"')"jine2=rs.getInt(" 金额 ");jine=jine1+jine2;String sql3 = "update 账户信息 set 金额 = '"+ jine +"' where '"+ num +"'&q
25、uot;"存款成功 ");stmt.executeUpdate(sql2);stmt.executeUpdate(sql3);连接数据values('"+账号 =break;else"您输入的账号错误或者不存在,请重新输入:");num = scanner.next();rs = stmt.executeQuery(sql1);rs.close();stmt.close();catch (Exception e)m = true;2.9 贷款public static void daikuan()throws ExceptiontryC
26、lass.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;"请输入您的账号 &quo
27、t;);"账号 ");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)" 请输入您的贷款单号 ");dainum = scanner.next();" 请输入您要贷的金额 ");daijine= scanner.nextInt();"
28、; 请输入您贷款的日期 ");daidate=scanner.next();String sql = "insert into 贷款 (账号,贷款单号 ,贷款金额 ,贷款日期 ) values('"+ num +"','"+ dainum +"','"+ daijine+"','"+ daidate +"')"" 贷款成功! ");Statement stmt = dbconn.createStatem
29、ent();stmt.executeUpdate(sql);stmt.close();break;else"您输入的账号错误或者不存在,请重新输入: ");num = scanner.next();rs = stmt1.executeQuery(sql1);catch(Exception e)m = true;2.10 还钱public static void huanqian()throws ExceptiontryClass.forName(driverName);/ 载入驱动dbconn = DriverManager.getConnection(dbURL,user
30、Name,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 = stmt
31、2.executeQuery(sql2);/ResultSet rs3 = stmt.executeQuery(sql3);String num=null,dainum=null,huandate=null;int huanjine=0;"请输入您的账号 ");"账号 ");num = scanner.next();int flag=0;int b=0; while(!num.equals("0")while(rs1.next()String a = null;a = rsl.getString(”账号”); if(num.equal
32、s(a)flag = 1; break;if(flag = 1)"请输入您的贷款单号 ");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()/"aaa");String c=
33、null;c = rs2.getString(” 贷款单号");/"%s %n",c); if(dainum.equals(c)b = 1; break;if(b = 1)期 ) values('"+ num= '"+ num +"'"账号 = '"+ num +" 请输入您要还的金额 "); huanjine= scanner.nextInt();" 请输入您还钱的日期 "); huandate= scanner.next();String
34、sql4 = "insert into 还钱 (账号 ,贷款单号 ,还钱金额 ,还钱日 "','"+ dainum +"','"+ huanjine+"','"+ huandate +"')"" 还钱成功! ");int d=0; d=rs2.getInt(" 贷款金额 ");int e=0; e=d-huanjine;String sql6 = "update 贷款 set 贷款金额 = '
35、"+ e +"' where 账号stmt2.executeUpdate(sql6);if(e>=0)"您还有 " + e+ " 未付 ");else int f=0;f=0-e;" 您多支付了 "+f+" 多支付的金额已存入您的账户 "); int g=0;g=rs1.getInt(" 金额 ");int h=0;h=f+g;String sql5 = "update 账户信息 set 金额 = '"+ h +"'
36、 wherestmt1.executeUpdate(sql5); stmt2.executeUpdate(sql4);break;else"您输入的贷款单号错误或者不存在,请重新输入:");dainum = scanner.next();rs2 = stmt2.executeQuery(sql2);break; else "您输入的账号错误或者不存在,请重新输入:");num = scanner.next();rs1 = stmt1.executeQuery(sql1);catch(Exception e) m = true;五、调试与分析问题 1:遇到
37、的第一个问题是如何用 java 连接数据库,根据查资料以及问 同学才学会;问题 2:是在写还钱这一模块,用了 4 重循环,无法同步实现账号和贷款 单号的同步判定, 经过自己仔细的调试, 才发现问题, 用不同的表进行逐步循环 才解决问题;问题 3:在贷款和还钱这一模块,在还钱的时候,忘记设置贷款表内的数 据与还钱要同步。六、功能测试图 1 :银行账户管理系统主界面函 C: WINDOW5sy5tem32cmd. exe - java BankMicrosoft Windows XP <C> 版权所有 1985-2001 Microsoft Copp.:XDocuments and S
38、ett ings fldiiinistpatop>d:X>cd jaua:XJaua>jauac Bank.jaua:XJaua>jaua Bank银行账户管理系统-一 账卢2::修改账户信息4::剎览氏8:1:35?:贞9:退户户账账H删查存还请输入您要进行的服务C: WINDOW5system32cmd. exe - java Bank:Jaua>jaua Bank银行账户管理系统 丄账户:修改账户信息9:退由请输入您要进行的服务青韧入您要添卽的数据S-004名liu§2603言息已插入!图2添加账户-|n| x|1:32468银行账户管理系统-一
39、逵扣账户2 :橡改账户信息4,浏览6:7:贷 二-匕请输入您要进行的服务1:3:8:鸚霹信息Si血金I-3012560M2bbb350003cc650004liu2603柚1/1OZAO1/O2图3:删除账户2603信息己插入I1:3:5:7:1;8;号00 4翳信息_ X塑 C: WM5OW5system32cmd.exe - java Bankg户 入 银账账 输 一加改璧苗请 -霍浏贷退一4 6 8一自心信 一户户 一账账 一疇款钱 一删查存还银行账户管理系统一-狐加账户2:3=检凌账户信息征5:浏櫃D?:贷;9:退请输入您要进行的服务账号姓名001Ikj2S60002bbb350003
40、cc650/OZWIL4U2昭息已鵬1.?;圈 C ;W1NDOWSsystemScmd.eKe - java Bank_ 口1 3 S 7 9g户 入 银账账TSI 一加 4笛TS n 一nW *+!r nn2 4 6 8删查喬行户户 入 银账账 输 亦改蚩苗请 -Ha -»+«! 二 268息信旳u 0h52- 号名额- 账姓金 改的的 修改改 更更更改 =您您更 入入入己一图4:修改账户账号姓名金额卜1001hu65230£bbb350003CC650塞1AO240/MJLL图5:查询账户血 C;WflXJW5system32cmdaeKe - java B
41、ank己更改7;9:户息 要 账信 您 行户户 入 银账账 输 亦改壓苗请 _富浏贷退-略信息-一技狀5查询一-窗F金额Q2 bbb 350银行账户管理系统一- 逵扣唳芦2:修改账户信息弘鹦馨信息8;请输入悠要进行的服务bbb視行跌户警理系统一 1:逐加账户23:偿抚账户信息45=捌取6?=贷I9:退图6:浏览账芯信息请输入悠娶进行的服务021E79 退出二-一请输入密要进行的服务姓名11U bbbccP EZ1氏可101 0203- X匡C: WIND0W55ystem32cmd.eKe - java Banki金额652350650艰行账户管理系统-樓改账户信息业查尙账户信息O:因 C:W
42、D<)OW5system321|1cinci.eKe - java Bank65Qf r).户百理系统, 逵加账户2户信息4潮临6-弓書输入您娶进行的服务砥号包0?存入的金额2囲 款的日期2011-1-1图7:存款畔信息S1E银行账户管理系统 袒加账户 2; 脸衣账户信息 47:9 退出二-一请输入您要进行的服务Il :存磁金额存磁日期0012562011-1-10022002011-1-1米tMilZIOZAXJLL歸摊名 n001hu652002bbb550003cc650来A/ULL401/O£图8:贷款因 C:WD<)OW5system321|1cinci.exe - java Bank存款成功请账请请亠一银行账户管理系统一- 養加账芦 修改账户信息0一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024高考数学一轮复习统考第1章集合与常用逻辑用语第2讲命题及其关系充分条件与必要条件学案含解析北师大版
- 2025年度智能交通管理系统采购协议3篇
- 辽宁广告职业学院《网络安全技能综合实训》2023-2024学年第一学期期末试卷
- 北师大版小学二年级下册数学教案全册
- 西游记读后感资料
- 节约粮食从我做起的倡议书800字(7篇)
- 专项2024劳务分包协议内容公示版B版
- 二零二五年度食品生产许可证协议3篇
- 实验室生物安全与环境保护
- 医院台风的预防与自救
- 2020-2021学年浙江省温州市八年级(上)期末数学试卷(附答案详解)
- 蔬菜籽种采购清单
- 工期定额-民用建筑
- 低压电能表安装作业指导书
- 关于蒸汽管道应急预案
- 技术服务及售后服务的承诺及保证措施
- (完整版)PCR试题答案版
- 能见度不良时船舶航行须知
- 软胶囊的制备
- 回风立井临时改绞施工措施
- 种植我们的植物教案及反思(共7页)
评论
0/150
提交评论