JAVA課程設計-銀行存取管理系統(tǒng)(所有代碼).doc_第1頁
JAVA課程設計-銀行存取管理系統(tǒng)(所有代碼).doc_第2頁
JAVA課程設計-銀行存取管理系統(tǒng)(所有代碼).doc_第3頁
JAVA課程設計-銀行存取管理系統(tǒng)(所有代碼).doc_第4頁
JAVA課程設計-銀行存取管理系統(tǒng)(所有代碼).doc_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

JAVA程序設計課程設計報告 設計題目: 銀行存取系統(tǒng)設計與實現 學院名稱: 信息工程學院 專業(yè)班級: 13計本2 姓 名: 王田 學 號: 1312252233 目錄一 需求分析。3二 概要設計。3三 詳細設計。3四 模塊中數據庫訪問。34.1數據庫核對用戶名和密碼(登錄)。34.2向數據庫添加一行(注冊)。44.3修改數據庫中數據(取款、存款、轉賬、修改密碼碼)。54.4查詢數據庫中數據(顯示余額、查詢修改)。54.5刪除數據庫中一行(注銷用戶)。6五 軟件的整體規(guī)劃。75.1登錄界面。75.2用戶業(yè)務界面。8六 數據庫設計。8七 軟件測試。87.1登錄界面(已有用戶登錄不能登錄其他用戶)。97.2注冊界面(有空文本框有提示)。97.3用戶主頁(窗口關閉按鈕不可以)。107.4存款。107.5取款(余額不足有提示)。107.6轉賬(余額不足、卡號不存在都有提示窗口)。117.7查詢修改(卡號不可修改)。117.8數據庫截圖。117.9測試方法。12八 總結。12一 需求分析 本軟件主要是為用戶在銀行自助服務的目的設計。主要業(yè)務包括注冊、取款、存款、轉賬、修改密碼、查詢余額和查詢修改信息等項目,一個用戶只允許操作自己的信息,保證用戶賬戶的安全。二 概要設計主要設計可以為用戶服務的ATM機客戶端,用戶可以在登錄界面注冊自己的卡號,登錄后可以進行取款、存款、轉賬、修改密碼、查詢余額和查詢修改信息的業(yè)務,所有操作都會保存數據庫。實現銀行自助服務的目的。三 將用戶需求模塊化根據概要設計的原則來分析一下本項目的用戶需求,并最終轉化成用程序語言描述的模塊。什么樣的需求才是一個模塊?模塊應該具備如下幾個特征。(1)登錄主界面:用類a來實現主界面的顯示,用Denlu類中的checkUser(String k,String m)方法鏈接數據庫核對用戶名和密碼是否正確,如果正確返回1,如果卡號不存在返回2,如果讀取數據庫失敗返回3。(2)用戶注冊:用類Zc來實現注冊界面的顯示,用Denlu類中的zhucezh(String name,String sex,String kahao,String mima,String phone)方法鏈接數據庫,將新用戶添加入數據庫。(3)用戶主頁:用類Zhuye來實現主頁界面的顯示,主頁中包括業(yè)務有取款、存款、轉賬、修改密碼、查詢余額和查詢修改信息,最后有退出按鈕(不能使用窗口關閉按鈕退出主頁,一個用戶登錄其他用戶不能登錄)。取款:用類Qukuan來實現取款窗口的顯示,用Denlu類中的qukuan(long k,long j)方法鏈接數據庫操作數據。存款:用類Cunkuan來實現存款窗口的顯示,用Denlu類中的cunkuan(long k,long j)方法鏈接數據庫操作數據。轉賬:用類Zuanzhang來實現轉賬窗口的顯示,用Denlu類中的zhuanzhang(long k,long j)方法鏈接數據庫操作數據。修改密碼:用類Xiugai來實現修改密碼窗口的顯示,用Denlu類中的gaimi(String y,String x)方法鏈接數據庫操作數據。查詢余額:用類Xianshi來實現查詢余額窗口的顯示,用Denlu類中的chaxun()方法鏈接數據庫操作數據。查詢修改:用類Chaxun來實現查改窗口的顯示,用Denlu類中的chagai(String name,String sex,String phone)方法鏈接數據庫操作數據。注銷:使用靜態(tài)方法shanchu(String id)實現,注銷時如果余額不為0,提示“取出余額在注銷”。四 模塊中數據庫訪問JAVA課程設計-銀行存取管理系統(tǒng)(源代碼)同學們,這里是銀行存取管理系統(tǒng)的所有JAVA代碼,下載復制粘貼就可以用。具體建包如下圖:(按圖片建立數據庫)數據庫截圖所有源代碼:類 :a.javapackage zhuce;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class a extends JFrame static TextField Kahao=new TextField(1,20);static JPasswordField Mima=new JPasswordField(110,15);static boolean weiyi=false;public a()JFrame f=new JFrame(銀行管理系統(tǒng));f.setBounds(200,100,700,600);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);f.setResizable(false); Container c=getContentPane(); /必須繼承JFrame類c.setLayout(null); c.setBackground(Color.blue);/不采用任何布局方式f.add(c);JLabel label1=new JLabel(歡迎您進入銀行管理系統(tǒng)); JLabel label2=new JLabel(銀 行 卡 號:); JLabel label3=new JLabel(銀行卡密碼:); label1.setFont(new Font(Serif,Font.BOLD,40);label1.setForeground(Color.WHITE);/label1.setBounds(300,200,400,300); /改變標簽位置 錯誤label2.setFont(new Font(Serif,Font.BOLD,20);label2.setForeground(Color.WHITE);label3.setFont(new Font(Serif,Font.BOLD,20);label3.setForeground(Color.WHITE);JButton button1=new JButton(登錄);JButton button2=new JButton(注冊);BHandler h=new BHandler();button1.addActionListener(h);button2.addActionListener(h);JPanel p1=new JPanel(); JPanel p2=new JPanel(); JPanel p3=new JPanel(); JPanel p4=new JPanel(); p1.setBounds(0,0,700,200); /改變面板位置 錯誤p1.setBackground(Color.blue);p1.add(label1);p2.setBounds(0,200,700,50); p2.setBackground(Color.blue);p2.add(label2);p2.add(Kahao);p3.setBounds(0,250,700,50); p3.setBackground(Color.blue);p3.add(label3);p3.add(Mima);p4.setBounds(0,350,700,70); /改變面板位置 錯誤p4.setBackground(Color.blue);p4.add(button1);p4.add(button2);c.add(p1);c.add(p2);c.add(p3);c.add(p4);f.setVisible(true); public static void main(String args)a b=new a();public class BHandler implements ActionListener public void actionPerformed (ActionEvent event) if(event.getActionCommand()=注冊)Zc zhuce=new Zc();/zhuce.validate();else if(event.getActionCommand()=登錄) if(Denlu.checkUser(Kahao.getText(),Mima.getText()=1&weiyi=false) weiyi=true; JOptionPane.showMessageDialog(a.this,登錄成功!);Zhuye zhu=new Zhuye(); else if(weiyi=true) JOptionPane.showMessageDialog(a.this,請先退出已經登錄的用戶!); else JOptionPane.showMessageDialog(a.this,卡號或者密碼不正確!); else 類 :Chaxun.javapackage zhuce;import javax.swing.*;import zhuce.Zhuanzhang.BHandler;import java.awt.*;import java.awt.event.*;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;public class Chaxun extends JDialogTextField name=new TextField(20);TextField sex=new TextField(20);TextField kahao=new TextField(20);TextField phone=new TextField(20);public Chaxun(JFrame m,String s)super(m,s); setBounds(350,150,400,400); setVisible(true); setModal(false); setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); setResizable(false); setLayout(null); JLabel label1=new JLabel(客戶個人信息查詢與修改); JLabel label2=new JLabel(姓 名:); JLabel label3=new JLabel(性 別:); JLabel label4=new JLabel(卡 號:); JLabel label5=new JLabel(手機號:); label1.setFont(new Font(Serif,Font.BOLD,20); label2.setFont(new Font(Serif,Font.BOLD,13); label3.setFont(new Font(Serif,Font.BOLD,13); label4.setFont(new Font(Serif,Font.BOLD,13); label5.setFont(new Font(Serif,Font.BOLD,13); kahao.setEditable(false); /卡號不可修改JButton button1=new JButton(確定);JButton button2=new JButton(取消);BHandler h=new BHandler();button1.addActionListener(h);button2.addActionListener(h);JPanel p1=new JPanel(); JPanel p2=new JPanel(); JPanel p3=new JPanel(); JPanel p4=new JPanel(); JPanel p5=new JPanel(); JPanel p6=new JPanel(); p1.setBounds(0,0,400,70);p1.add(label1);p2.setBounds(0,70,400,50);p2.add(label2);p2.add(name);p3.setBounds(0,120,400,50);p3.add(label3);p3.add(sex);p4.setBounds(0,170,400,50);p4.add(label4);p4.add(kahao);p5.setBounds(0,220,400,50);p5.add(label5);p5.add(phone);p6.setBounds(0,270,400,70);p6.add(button1);p6.add(button2);add(p1);add(p2);add(p3);add(p4);add(p5); add(p6); try /1.注冊驅動 String driverClassName = com.mysql.jdbc.Driver; Class.forName(com.mysql.jdbc.Driver); /2.連接數據庫 Connection conn = DriverManager.getConnection(jdbc:mysql:/localhost:3306/ren,root,); Statement stmt=conn.createStatement(); ResultSet rs=stmt.executeQuery(select * from tablename where UserID=+Integer.parseInt(a.Kahao.getText()+); if(rs.next() name.setText(rs.getString(Username); sex.setText(rs.getString(Usersex); kahao.setText(rs.getString(UserID); phone.setText(rs.getString(Userphone); rs.close(); stmt.close(); conn.close(); catch(Exception sqle) System.err.println(sqle); JOptionPane.showMessageDialog(Zhuye.z,系統(tǒng)故障,請稍后在試!); setVisible(true); public class BHandler implements ActionListener public void actionPerformed (ActionEvent event) int x;if(event.getActionCommand()=確定)x=Denlu.chagai(name.getText(),sex.getText(),phone.getText();System.out.println(x);if(x=1) JOptionPane.showMessageDialog(Zhuye.z,修改成功!);dispose();else JOptionPane.showMessageDialog(Zhuye.z,修改出錯!);dispose();else if(event.getActionCommand()=取消)dispose();類:Cunkuan.javapackage zhuce;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class Cunkuan extends JDialog TextField jine=new TextField(10);public Cunkuan(JFrame m,String s) super(m,s);setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);setBounds(400,250,400,200);setVisible(true);setResizable(false); setLayout(null); JLabel label1=new JLabel(請輸入存款的金額);label1.setFont(new Font(Serif,Font.BOLD,20);JLabel label2=new JLabel(金額:);label2.setFont(new Font(Serif,Font.BOLD,13);JButton button1=new JButton(確認);BHandler h=new BHandler();button1.addActionListener(h);JPanel p1=new JPanel(); JPanel p2=new JPanel(); p1.setBounds(0,0,200,70); p1.add(label1);p2.setBounds(25,70,400,50); p2.add(label2);p2.add(jine);p2.add(button1);add(p1);add(p2);setVisible(true);public class BHandler implements ActionListener public void actionPerformed (ActionEvent event) if(!(jine.getText().equals()int i=0;i=Denlu.cunkuan(Integer.parseInt(a.Kahao.getText(),Integer.parseInt(jine.getText();if(i=1)JOptionPane.showMessageDialog(Zhuye.z,成功存款+jine.getText()+元!);dispose();elseJOptionPane.showMessageDialog(Zhuye.z,系統(tǒng)故障,請稍后在試!);elseJOptionPane.showMessageDialog(Zhuye.z,請輸入存款金額!);類:Denlu.javapackage zhuce;import java.sql.*;public class Denlu public Denlu()public static int shanchu(String id)long a=chaxun(); if(a=0)try Class.forName(com.mysql.jdbc.Driver); Connection conn = DriverManager.getConnection(jdbc:mysql:/localhost:3306/ren,root,); Statement stmt=conn.createStatement(); String sql=delete from tablename where UserID=+Integer.parseInt(id)+; stmt.executeUpdate(sql); stmt.close(); conn.close(); return 1; catch(Exception sqle) System.err.println(sqle); return 3; elsereturn 2;public static int zhucezh(String name,String sex,String kahao,String mima,String phone)try /1.注冊驅動 String driverClassName = com.mysql.jdbc.Driver; Class.forName(com.mysql.jdbc.Driver); /2.連接數據庫 Connection conn = DriverManager.getConnection(jdbc:mysql:/localhost:3306/ren,root,); Statement stmt=conn.createStatement(); String sql=insert into tablename values(?,?,?,?,?,?); PreparedStatement ps=(PreparedStatement) conn.prepareStatement(sql); ps.setString(1,kahao); ps.setString(2,name); ps.setString(3,mima); ps.setString(4,phone); ps.setString(5,sex); ps.setInt(6,0); ps.executeUpdate(); ps.close(); stmt.close(); conn.close(); return 1; catch(Exception sqle) System.err.println(sqle); return 3; public static int chagai(String name,String sex,String phone)try /1.注冊驅動 String driverClassName = com.mysql.jdbc.Driver; Class.forName(com.mysql.jdbc.Driver); /2.連接數據庫 Connection conn = DriverManager.getConnection(jdbc:mysql:/localhost:3306/ren,root,); Statement stmt=conn.createStatement(); ResultSet rs=stmt.executeQuery(select * from tablename where UserID=+Integer.parseInt(a.Kahao.getText()+); if(rs.next() stmt.executeUpdate(Update tablename set Usersex=+sex+,Username=+name+,Userphone=+phone+ where UserID=+Integer.parseInt(a.Kahao.getText()+); rs.close(); stmt.close(); conn.close(); return 1; catch(Exception sqle) System.err.println(sqle); return 3; return 2;public static int gaimi(String y,String x)long p; p=checkUser(a.Kahao.getText(),y);if(p=1)try /1.注冊驅動 String driverClassName = com.mysql.jdbc.Driver; Class.forName(com.mysql.jdbc.Driver); /2.連接數據庫 Connection conn = DriverManager.getConnection(jdbc:mysql:/localhost:3306/ren,root,); Statement stmt=conn.createStatement(); ResultSet rs=stmt.executeQuery(select * from tablename where UserID=+Integer.parseInt(a.Kahao.getText()+); if(rs.next() stmt.executeUpdate(Update tablename set UserPW=+x+ where UserID=+Integer.parseInt(a.Kahao.getText()+); rs.close(); stmt.close(); conn.close(); return 1; catch(Exception sqle) System.err.println(sqle); return 3; return 2;public static long chaxun()long j;try /1.注冊驅動 String driverClassName = com.mysql.jdbc.Driver; Class.forName(com.mysql.jdbc.Driver); /2.連接數據庫 Connection conn = DriverManager.getConnection(jdbc:mysql:/localhost:3306/ren,root,); Statement stmt=conn.createStatement(); ResultSet rs=stmt.executeQuery(select * from tablename where UserID=+Integer.parseInt(a.Kahao.getText()+); if(rs.next() j=rs.getInt(Useryue); rs.close(); stmt.close(); conn.close(); return j; catch(Exception sqle) System.err.println(sqle); return -2; return -2;public static int qukuan(long k,long j)try /1.注冊驅動 String driverClassName = com.mysql.jdbc.Driver; Class.forName(com.mysql.jdbc.Driver); /2.連接數據庫 Connection conn = DriverManager.getConnection(jdbc:mysql:/localhost:3306/ren,root,); Statement stmt=conn.createStatement(); ResultSet rs=stmt.executeQuery(select * from tablename where UserID=+k+); if(rs.next() j=rs.getInt(Useryue)-j; if(j0) return 2; stmt.executeUpdate(Update tablename set Useryue=+j+ where UserID=+k+); rs.close(); stmt.close(); conn.close(); return 1; catch(Exception sqle) System.err.println(sqle); return 3; return 0; public static int cunkuan(long k,long j)try /1.注冊驅動 String driverClassName = com.mysql.jdbc.Driver; Class.forName(com.mysql.jdbc.Driver); /2.連接數據庫 Connection conn = DriverManager.getConnection(jdbc:mysql:/localhost:3306/ren,root,); Statement stmt=conn.createStatement(); ResultSet rs=stmt.executeQuery(select * from tablename where UserID=+k+); if(rs.next() j=rs.getInt(Useryue)+j; stmt.executeUpdate(Update tablename set Useryue=+j+ where UserID=+k+); rs.close(); stmt.close(); conn.close(); return 1; catch(Exception sqle) System.err.println(sqle); return 2; return 0;public static int zhuanzhang(long k,long j)long i = 0;long p = 0;i=Denlu.cunkuan(k, 0);if(i=1)p=Denlu.qukuan(Integer.parseInt(a.Kahao.getText(), j);if(p=1)try /1.注冊驅動 String driverClassName = com.mysql.jdbc.Driver; Class.forName(com.mysql.jdbc.Driver); /2.連接數據庫 Connection conn = DriverManager.getConnection(jdbc:mysql:/localhost:3306/ren,root,); Statement stmt=conn.createStatement(); ResultSet rs=stmt.executeQuery(select * from tablename where UserID=+k+); if(rs.next() j=rs.getInt(Useryue)+j; stmt.executeUpdate(Update tablename set Useryue=+j+ where UserID=+k+); rs.close(); stmt.close(); conn.close(); return 1; catch(Exception sqle) System.err.println(sqle); return 4; return 2;return 3;public static int checkUser(String k,String m)try /1.注冊驅動 String driverClassName = com.mysql.jdbc.Driver; Class.forName(com.mysql.jdbc.Driver); /2.連接數據庫 Connection conn = DriverManager.getConnection(jdbc:mysql:/localhost:3306/ren,root,); String temp_ID=k; String temp_pass=m; String sql_user=select userID,userPW from tablename where UserID=? and UserPW=?; PreparedStatement pst=null; pst=conn.prepareStatement(sql_user); pst.setString (1,temp_ID); /為綁定變量賦值 pst.setString (2,temp_pass); ResultSet rst=pst.executeQuery(); if(rst.next() rst.close(); pst.close(); conn.close(); return 1; else return 0; catch(Exception sqle) System.err.println(sqle); return 0; 類:Qukuan.javapackage zhuce;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class Qukuan extends JD

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論