版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、課程設(shè)計For personal use only in study and research; not for commercial useFor personal use only in study and research; not forcommercial use課程設(shè)計名稱:java課程設(shè)計專業(yè)班級:計科09級05班學(xué)生姓名:劉品訓(xùn)學(xué)號:一0507指導(dǎo)教師:王社偉課程設(shè)計時間:計算機科學(xué)與技術(shù)專業(yè)課程設(shè)計任務(wù)書學(xué)生姓名劉品訓(xùn)專業(yè)班級計科09005學(xué)號0507題目銀行帳戶管理系統(tǒng)課題性質(zhì)工程設(shè)計課題來源自擬課題指導(dǎo)教師王社偉同組姓名無主要內(nèi)容如今隨著銀行信譽的不斷提高,人們對銀行儲蓄
2、愈加依賴,因此 銀行需要一個更加完善的處理系統(tǒng), 來滿足顧客以及銀行管理人員的 使用,因此我選擇該題目,來嘗試一下。銀行帳戶管理系統(tǒng)顧名思義 就是對銀行帳戶的信息進(jìn)行操作,在主界面提示用戶進(jìn)行選擇操作, 從而進(jìn)行賬戶信息的添加,修改,刪除,查詢,存款,貸款以及還錢 等功能,從而方便用戶及管理人員的使用,提高銀行的工作效率,為 用戶節(jié)省時間。任務(wù)要求綜合運用所學(xué)的JAVA程序設(shè)計基本知識,并能通過查閱相關(guān)文獻(xiàn) 材料,獨立完成該課題的設(shè)計開發(fā)工作。要求根據(jù)本課題設(shè)計合理的 數(shù)據(jù)結(jié)構(gòu),并實現(xiàn)添加帳戶信息刪除帳戶信息修改帳戶信息 查詢帳戶信息瀏覽帳戶信息存款貸款還錢等功能模塊。米用SQL Sever2
3、005,Java開發(fā)工具進(jìn)行開發(fā)實現(xiàn)。根據(jù)系統(tǒng)功能,結(jié)合軟件開發(fā)流程,完成設(shè)計報告的撰寫。參考文獻(xiàn).1(美)Cay S. Horstmann、Gary Cornell. Java核心技術(shù)卷 I:基礎(chǔ)知識(第8版)(英文影印版).人民郵電出版社,2008.11:2耿祥義、張躍平.JAVA2實用教程(修訂).清華大學(xué)出版社, 2001.103尹志宇,郭晴.數(shù)據(jù)庫原理與應(yīng)用教程:SQLServer.清華大學(xué)出版 社,2010.54袁然、鄭自國、鄒豐義著.java案例開發(fā)集錦.電子工業(yè)出版社,2005.9指導(dǎo)教師簽字:審查意見教研室主任簽字:銀行帳戶管理系統(tǒng)、需求分析銀行賬戶管理系統(tǒng)中,主要有以下功能
4、:1. 添加賬戶:主要增加賬戶的賬號,姓名,以及所存的金額。2. 刪除賬戶:根據(jù)輸入的賬號,刪除該賬戶的信息。3修改賬戶信息:根據(jù)輸入的賬號,修改賬戶的信息。4. 查詢賬戶信息:根據(jù)輸入的賬號,查詢并顯示出該賬戶的相關(guān)信息。5. 瀏覽:瀏覽數(shù)據(jù)庫中的各個賬戶的信息。6. 存款:輸入賬號,并向該賬號存錢,同時并記錄下來。7. 貸款:輸入賬號和貸款單號向該賬戶貸款,并記錄下來。8. 還錢:輸入賬號和貸款單號付貸款錢,同時并顯示還有多少貸款未付。二、概要設(shè)計課程設(shè)計模塊圖:銀行帳戶管理系統(tǒng)系統(tǒng)流程圖:選擇操作二、運行環(huán)境、開發(fā)語言1:Wi ndows xp,DOS,Microsoft SQL Ser
5、ver 2005;2:Java , SQL Server。四、詳細(xì)設(shè)計1程序清單表1程序清單函數(shù)名功能Main ()函數(shù)操作系統(tǒng)in sert()添加賬戶信息del()刪除賬戶update()修改賬戶信息serch()查詢賬戶信息liula n()瀏覽cun kua n()存款daikua n()貸款hua nqian()還錢2主要代碼2.1建立Bank公共類,并連接數(shù)據(jù)庫import java.sql.*;import java.util.*;import javax.swi ng.*;public class Bankpublic static String driverName = &q
6、uot;"/加載 JDBC 驅(qū)動public static String dbURL = "jdbc:; DatabaseName=銀行管理系統(tǒng)"/連接服務(wù)器和數(shù)據(jù)庫public static String userName = "liu"默認(rèn)用戶名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 主函數(shù)銀行賬戶管理系統(tǒng)主界面public static void main(String srg) throws Exceptionwhile(m)II"1"3"5"7"9II 銀行賬戶管理系統(tǒng) 添加賬戶 修改賬戶信息 瀏覽 貸款 退出"); 2:刪除賬戶 "); 4:查詢賬戶信息 "); 6:存款 "); 8:還錢 ");");請輸入您要進(jìn)行的服務(wù) 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);/ 載入驅(qū)動dbconn = DriverManager.getConnection(dbURL,userName,userPwd);/ 連接數(shù)據(jù)庫String num=null,name=null;int jine=0;"請輸入您要添加的數(shù)據(jù) ");"賬號 ");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);/ 載入驅(qū)動dbconn = DriverManager.getConnection(dbURL,userName,userPwd);/ 連接數(shù)據(jù) 庫"- 刪除賬戶 -");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();"數(shù)據(jù)已刪除! ");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);/ 載入驅(qū)動dbconn = DriverManager.getConnection(dbURL,userName,userPwd);/ 連接數(shù)據(jù) 庫" 請輸入您要修改賬號: ");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();" 數(shù)據(jù)已更改 ");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);/ 載入驅(qū)動dbconn = DriverManager.getConnectio
18、n(dbURL,userName,userPwd);/ 連接數(shù)據(jù) 庫"- 按賬號查詢 -");" 請輸入賬號 ");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);/ 載入驅(qū)動dbconn = DriverManager.getConnection(dbURL,userName,userPwd);/ 連接數(shù)據(jù) 庫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);/ 載入驅(qū)動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);連接數(shù)據(jù)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);/ 載入驅(qū)動連接數(shù)據(jù)庫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);/ 載入驅(qū)動dbconn = DriverManager.getConnection(dbURL,user
30、Name,userPwd);/ 連接數(shù)據(jù)庫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;五、調(diào)試與分析問題 1:遇到
37、的第一個問題是如何用 java 連接數(shù)據(jù)庫,根據(jù)查資料以及問 同學(xué)才學(xué)會;問題 2:是在寫還錢這一模塊,用了 4 重循環(huán),無法同步實現(xiàn)賬號和貸款 單號的同步判定, 經(jīng)過自己仔細(xì)的調(diào)試, 才發(fā)現(xiàn)問題, 用不同的表進(jìn)行逐步循環(huán) 才解決問題;問題 3:在貸款和還錢這一模塊,在還錢的時候,忘記設(shè)置貸款表內(nèi)的數(shù) 據(jù)與還錢要同步。六、功能測試圖 1 :銀行賬戶管理系統(tǒng)主界面函 C: WINDOW5sy5tem32cmd. exe - java BankMicrosoft Windows XP <C> 版權(quán)所有 1985-2001 Microsoft Copp.:XDocuments and S
38、ett ings fldiiinistpatop>d:X>cd jaua:XJaua>jauac Bank.jaua:XJaua>jaua Bank銀行賬戶管理系統(tǒng)-一 賬盧2::修改賬戶信息4::剎覽氏8:1:35?:貞9:退戶戶賬賬H刪查存還請輸入您要進(jìn)行的服務(wù)C: WINDOW5system32cmd. exe - java Bank:Jaua>jaua Bank銀行賬戶管理系統(tǒng) 丄賬戶:修改賬戶信息9:退由請輸入您要進(jìn)行的服務(wù)青韌入您要添卽的數(shù)據(jù)S-004名liu§2603言息已插入!圖2添加賬戶-|n| x|1:32468銀行賬戶管理系統(tǒng)-一
39、逵扣賬戶2 :橡改賬戶信息4,瀏覽6:7:貸 二-匕請輸入您要進(jìn)行的服務(wù)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一自心信 一戶戶 一賬賬 一疇款錢 一刪查存還銀行賬戶管理系統(tǒng)一-狐加賬戶2:3=檢凌賬戶信息征5:瀏櫃D?:貸;9:退請輸入您要進(jìn)行的服務(wù)賬號姓名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銀行賬戶管理系統(tǒng)一- 逵扣唳蘆2:修改賬戶信息弘鸚馨信息8;請輸入悠要進(jìn)行的服務(wù)bbb視行跌戶警理系統(tǒng)一 1:逐加賬戶23:償撫賬戶信息45=捌取6?=貸I9:退圖6:瀏覽賬芯信息請輸入悠娶進(jìn)行的服務(wù)021E79 退出二-一請輸入密要進(jìn)行的服務(wù)姓名11U bbbccP EZ1氏可101 0203- X匡C: WIND0W55ystem32cmd.eKe - java Banki金額652350650艱行賬戶管理系統(tǒng)-樓改賬戶信息業(yè)查尙賬戶信息O:因 C:W
42、D<)OW5system321|1cinci.eKe - java Bank65Qf r).戶百理系統(tǒng), 逵加賬戶2戶信息4潮臨6-弓書輸入您娶進(jìn)行的服務(wù)砥號包0?存入的金額2囲 款的日期2011-1-1圖7:存款畔信息S1E銀行賬戶管理系統(tǒng) 袒加賬戶 2; 臉衣賬戶信息 47:9 退出二-一請輸入您要進(jìn)行的服務(wù)Il :存磁金額存磁日期0012562011-1-10022002011-1-1米tMilZIOZAXJLL歸攤名 n001hu652002bbb550003cc650來A/ULL401/O£圖8:貸款因 C:WD<)OW5system321|1cinci.exe - java Bank存款成功請賬請請亠一銀行賬戶管理系統(tǒng)一- 養(yǎng)加賬蘆 修改賬戶信息0一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年浙科版九年級生物下冊階段測試試卷
- 事故檢討書樣本
- 2025年人教版選修6歷史下冊階段測試試卷
- 2025年度行政救濟(jì)制度適用范圍范本合同3篇
- 二零二五年度安全生產(chǎn)責(zé)任主體合同履行保障體系3篇
- 小學(xué)綜合實踐課程的實施效果評估報告
- 2024年雞只共同養(yǎng)殖合同樣本版B版
- 專屬物流承運協(xié)議(2024年版)版B版
- 技術(shù)輔助下的個性化家庭教育方案設(shè)計
- 小學(xué)數(shù)學(xué)教育中的創(chuàng)新思維培養(yǎng)與實踐
- 2020-2021學(xué)年浙江省溫州市八年級(上)期末數(shù)學(xué)試卷(附答案詳解)
- 蔬菜籽種采購清單
- 工期定額-民用建筑
- 低壓電能表安裝作業(yè)指導(dǎo)書
- 關(guān)于蒸汽管道應(yīng)急預(yù)案
- 技術(shù)服務(wù)及售后服務(wù)的承諾及保證措施
- (完整版)PCR試題答案版
- 能見度不良時船舶航行須知
- 軟膠囊的制備
- 回風(fēng)立井臨時改絞施工措施
- 種植我們的植物教案及反思(共7頁)
評論
0/150
提交評論