JAVA课程设计银行管理系统

合集下载

银行账户管理java课程设计

银行账户管理java课程设计

银行账户管理java课程设计一、课程目标知识目标:1. 理解银行账户管理系统的基本概念,掌握Java语言中面向对象编程的基本原理;2. 学会运用Java语言实现银行账户的创建、存取款、查询余额等基本功能;3. 了解并掌握Java异常处理机制,提高程序的稳定性和可靠性;4. 学会使用Java集合框架存储和管理大量账户数据。

技能目标:1. 能够运用面向对象的思想分析并设计出合理的银行账户管理系统;2. 独立编写Java代码,实现银行账户管理系统的各项功能;3. 学会使用调试工具进行程序调试,找出并修复程序中的错误;4. 提高团队协作能力,通过与同学合作完成课程设计,锻炼沟通与协作能力。

情感态度价值观目标:1. 培养对计算机编程的兴趣,激发学习Java语言的热情;2. 培养良好的编程习惯,注重代码规范和程序注释;3. 树立正确的价值观,认识到编程对于解决实际问题的意义和价值;4. 培养积极向上的学习态度,勇于面对编程中的困难和挑战,不断探索和进步。

本课程设计旨在帮助学生将所学的Java编程知识运用到实际项目中,提高学生的编程能力和解决实际问题的能力。

课程性质为实践性较强的学科,注重培养学生的动手操作能力和团队协作能力。

针对学生的年级特点,课程目标设置适中,旨在使学生能够掌握基本的Java编程技能,为后续学习打下坚实基础。

在教学过程中,教师需关注学生的个体差异,提供有针对性的指导,确保学生能够顺利完成课程目标。

二、教学内容1. 银行账户管理系统的基本概念与功能需求分析;- 介绍银行账户的基本操作,如开户、存取款、查询余额等;- 分析系统功能需求,明确各功能模块之间的关系。

2. Java面向对象编程基础;- 复习Java基本语法和数据类型;- 讲解类与对象的概念,以及封装、继承、多态等面向对象的基本原则。

3. Java异常处理机制;- 介绍异常的概念,以及如何使用try-catch语句进行异常处理;- 讲解自定义异常及其使用方法。

JAVA课程设计银行管理系统

JAVA课程设计银行管理系统

大连科技学院java程序设计课程设计(B)题目银行取款管理系统学生姓名姚伟奇专业班级计算机(Z)13-1 指导教师李红职称讲师所在单位信息科学系软件工程教研室教学部主任王立娟完成日期 2016年9月30日课程设计报告单综合评定:(优、良、中、及格、不及格)指导教师签字:2016年9月30日《java程序设计课程设计(B)》任务书一、课程设计任务及要求:任务:针对小型信息管理系统或若干综合性设计题目,选择一种软件开发模型,完成从需求分析、系统设计、系统实现,软件测试的全过程。

要求:(1) 根据软件系统开发的一般原则,完成相应系统的功能设计,完成主要功能模块的程序实现并进行测试训练,给出代码运行结果和相应的设计文档。

可以分组进行,但所有学生必须经历整个系统的开发全过程,以便加深对系统开发全过程的认识。

(2)提交课程设计报告。

(3)指标: 要求完成课程设计报告3000字以上(约二十页);完成所设计的题目,设计题目的语句行数的和在200行语句以上。

二、工作量2周(10个工作日)时间三、计划安排第1个工作日:查找相关资料、书籍,阅读示例文档,选择题目。

第2个工作日-第4个工作日:设计程序结构、模块图。

第5个工作日-第9个工作日:完成程序的编码,并且自己调试、测试。

穿插进行课程设计报告的撰写。

第10个工作日:上交课程设计报告,由教师检查软件测试效果、检查课程设计报告,给出学生成绩。

指导教师签字:2016年9月19日目录题目: (1)1.需求分析 (1)2.概要设计 (1)3.详细设计 (2)4.编码 (3)5.调试分析 (11)6.测试结果及运行效果 (11)7.系统开发所用到的技术 (13)8.课程设计总结 (14)参考文献 (145)附录全部代码 (16)题目:银行取款管理系统的设计与实现1.需求分析在传统的银行帐户管理中,其过程往往是很复杂的,繁琐的,帐户管理以入帐和出帐两项内容为核心,在此过程中又需要经过若干道手续,因为整个过程都需要手工操作,效率十分低下,且由于他们之间关联复杂,统计和查询的方式各不相同;且会出现信息的重复传递问题,因此该过程需要进行信息化,以利用计算机进行帐目管理。

银行管理系统java课程设计

银行管理系统java课程设计

银行管理系统java课程设计一、教学目标本课程的目标是让学生掌握Java语言在银行管理系统中的应用。

通过本课程的学习,学生将能够理解银行管理系统的业务流程,运用Java语言实现银行管理系统的功能,并熟练使用相关开发工具。

1.掌握Java语言的基本语法和数据结构。

2.了解银行管理系统的业务流程和常用模块。

3.熟悉银行管理系统的设计原则和开发方法。

4.能够使用Java语言编写简单的银行管理系统程序。

5.能够分析银行管理系统的需求,设计合适的系统架构。

6.能够使用相关开发工具进行银行管理系统的开发和调试。

情感态度价值观目标:1.培养学生的团队协作能力和沟通能力。

2.培养学生对编程的兴趣和热情。

3.培养学生遵守编程规范和职业道德的意识。

二、教学内容本课程的教学内容主要包括三个部分:Java语言基础、银行管理系统业务流程、银行管理系统设计与实现。

1.Java语言基础:介绍Java语言的基本语法、数据结构、面向对象编程等知识。

通过讲解和示例,使学生掌握Java语言的基本编程能力。

2.银行管理系统业务流程:讲解银行管理系统的业务流程,包括客户管理、账户管理、贷款管理、结算管理等模块。

使学生了解银行管理系统的实际运作过程。

3.银行管理系统设计与实现:结合实际案例,引导学生运用Java语言设计和实现银行管理系统。

内容包括系统架构设计、模块划分、编程规范、测试与调试等。

三、教学方法本课程采用多种教学方法,包括讲授法、案例分析法、实验法等。

1.讲授法:通过讲解Java语言基础知识和银行管理系统的业务流程,使学生掌握相关理论知识。

2.案例分析法:分析实际案例,让学生了解银行管理系统的实际应用,提高学生的实际操作能力。

3.实验法:安排实验课程,让学生动手编写代码,培养学生的实际编程能力和解决问题的能力。

四、教学资源本课程的教学资源包括教材、参考书、多媒体资料、实验设备等。

1.教材:选用权威、实用的Java语言教材,为学生提供系统的理论知识学习。

银行帐户管理系统-Java课程设计

银行帐户管理系统-Java课程设计

银行帐户管理系统 - Java课程设计一、需求分析1.1 项目背景随着现代经济的发展,银行业作为金融体系的重要组成部分,其业务也日渐多元化,保障着人们的生活和经济发展。

在这样的大背景下,为了提高银行业务的效率和用户体验,需要开发一个基于Java的银行帐户管理系统。

1.2 功能要求银行帐户管理系统需要实现的功能包括:用户注册、登录、修改密码、查看帐户信息、存款、取款、转账等。

此外,还需要实现管理员的相关操作,如:添加、删除、修改用户信息,查询用户信息等。

1.3 技术选型本系统采用Java作为主要开发语言,后端采用Spring Boot框架,前端采用Bootstrap框架进行开发。

数据库采用MySQL存储。

二、设计方案2.1 数据库设计本系统的数据库包括两张表:用户表和账户表。

其中,用户表主要存储用户的基本信息,包括用户名、密码、手机号等;账户表主要存储账户的信息,包括账户号、账户名、余额等。

2.2 功能实现本系统的主要功能实现如下:2.2.1 用户注册用户可以通过填写基本信息、手机号码等注册银行帐户。

2.2.2 用户登录已注册用户可以通过输入用户名和密码进行登录。

2.2.2 修改密码已登录用户可以通过输入旧密码和新密码来修改密码。

2.2.3 查看帐户信息已登录用户可以查看自己的帐户信息,包括账户号、账户名、余额等。

2.2.4 存款操作已登录用户可以进行存款操作,输入存款金额后更新账户余额。

2.2.5 取款操作已登录用户可以进行取款操作,输入取款金额后更新账户余额。

2.2.6 转账操作已登录用户可以进行转账操作,输入对方账户号和转账金额后更新双方账户余额。

2.2.7 管理员操作管理员可以进行添加、删除、修改用户信息等操作。

三、系统架构银行帐户管理系统的系统架构如下图所示:Figure 1. 银行帐户管理系统架构图主要包括:客户端、服务器端、数据库。

客户端:提供基本的用户操作界面,用户可以通过客户端进行登录、注册等操作。

JAVA课程设计银行管理系统

JAVA课程设计银行管理系统

大连科技学院java程序设计课程设计(B)题目银行取款管理系统学生姓名姚伟奇专业班级计算机(Z)13-1指导教师李红职称讲师所在单位信息科学系软件工程教研室教学部主任王立娟完成日期 2016年9月30日课程设计报告单综合评定:(优、良、中、及格、不及格)指导教师签字:2016年9月30日《java程序设计课程设计(B)》任务书一、课程设计任务及要求:任务:针对小型信息管理系统或若干综合性设计题目,选择一种软件开发模型,完成从需求分析、系统设计、系统实现,软件测试的全过程。

要求:(1) 根据软件系统开发的一般原则,完成相应系统的功能设计,完成主要功能模块的程序实现并进行测试训练,给出代码运行结果和相应的设计文档。

可以分组进行,但所有学生必须经历整个系统的开发全过程,以便加深对系统开发全过程的认识。

(2)提交课程设计报告。

(3)指标: 要求完成课程设计报告3000字以上(约二十页);完成所设计的题目,设计题目的语句行数的和在200行语句以上。

二、工作量2周(10个工作日)时间三、计划安排第1个工作日:查找相关资料、书籍,阅读示例文档,选择题目。

第2个工作日-第4个工作日:设计程序结构、模块图。

第5个工作日-第9个工作日:完成程序的编码,并且自己调试、测试。

穿插进行课程设计报告的撰写。

第10个工作日:上交课程设计报告,由教师检查软件测试效果、检查课程设计报告,给出学生成绩。

指导教师签字:2016年9月19日目录题目:.................................................... 错误!未定义书签。

1.需求分析............................................ 错误!未定义书签。

2.概要设计............................................ 错误!未定义书签。

3.详细设计............................................ 错误!未定义书签。

JAVA课程设计报告(银行管理系统) 潍坊学院 于涵

JAVA课程设计报告(银行管理系统) 潍坊学院 于涵

目录一、前言 (2)1.功能与需求 (2)(1)功能简介 (2)(2)基本需求 (2)(3)健壮性优化 (2)二、正文 (3)1、功能预览。

(3)2、系统结构设计 (5)(1)系统模块功能结构图 (5)(2)数据库结构设计 (6)(3)开发及运行环境要求,即该系统运行的软件、硬件环境要求 (6)3、代码说明。

(6)(1)类图 (6)(2)描述各种主要类的设计及需要特殊说明的代码 (7)后记 (9)参考文献 (10)附录 (11)1.数据库(MYSQL): (11)2.代码清单: (12)一、前言1. 功能与需求(1)功能简介本程序可用于校园银行,机构内部记账支付平台。

可以让用户使用在本系统中注册的账号能像银行卡一样使用,也可登录自助客户端自助转账。

管理员也可登录管理端对用户进行最高权限的管理。

(2)基本需求1.有管理员和普通用户两种用户类型。

2.管理员拥有对普通用户增删改查的操作和用户存取款、任意人账单查询的权限。

3.用户拥有查询自己信息、转账和查询自己账单的权限。

(3)健壮性优化1.查询表格不允许编辑。

2.手机号身份证号卡号等纯数字字段不允许输入非数字。

二、正文1、功能预览。

登陆界面:登陆区分用户,管理员用户(admin)会跳至管理员管理系统,普通用户会跳至用户自主系统。

管理员查找删除用户界面:管理员增户编辑界面(此面板可以对用户批量删除,也可以跟(此面板可以增加或变更用户信息)据卡号手机号身份证号中的一个信息对用户进行搜索)存取款界面:管理员查询用户账单界面:(此面板可以查询任何一个用户的操作记录)用户查询自己信息界面:用户自助转账界面:用户查询自己账单界面:(此界面只能查询自己的操作记录)2、系统结构设计(1)系统模块功能结构图(2)数据库结构设计本程序使用数据库为MYSQL,共使用两个表。

表1:user用于存储用户信息,包括以下字段:Id(用户卡号)、password(用户密码)、money(用户余额)、tel(用户手机号码)、sex(用户性别)、sfz(用户身份证号)。

银行帐户管理系统-Java课程设计

银行帐户管理系统-Java课程设计

课程设计课程设计名称:java课程设计专业班级:计科09级05班学生姓名:刘品训学号:2指导教师:王社伟课程设计时间:2011.12.12-2011.12.23计算机科学与技术专业课程设计任务书银行帐户管理系统一、需求分析银行账户管理系统中,主要有以下功能:1.添加账户:主要增加账户的账号,姓名,以及所存的金额。

2.删除账户:根据输入的账号,删除该账户的信息。

3.修改账户信息:根据输入的账号,修改账户的信息。

4.查询账户信息:根据输入的账号,查询并显示出该账户的相关信息。

5.浏览:浏览数据库中的各个账户的信息。

6.存款:输入账号,并向该账号存钱,同时并记录下来。

7.贷款:输入账号和贷款单号向该账户贷款,并记录下来。

8.还钱:输入账号和贷款单号付贷款钱,同时并显示还有多少贷款未付。

二、概要设计课程设计模块图:系统流程图:三、运行环境、开发语言1:Windows xp,DOS,Microsoft SQL Server 2005;2:Java,SQL Server。

四、详细设计1 程序清单表1 程序清单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:在贷款和还钱这一模块,在还钱的时候,忘记设置贷款表内的数据与还钱要同步。

java课程设计银行

java课程设计银行

java课程设计银行一、教学目标本章节的教学目标是使学生掌握Java编程语言的基本语法和编程思想,学会使用Java编写简单的应用程序,并能够运用Java语言实现一个简单的银行管理系统。

具体包括以下三个方面:1.知识目标:–掌握Java语言的基本语法和数据结构;–理解面向对象编程的基本概念和方法;–学习Java标准库的使用和异常处理。

2.技能目标:–能够使用Java语言编写简单的应用程序;–能够运用面向对象编程思想设计和实现软件;–能够使用Java标准库进行数据处理和文件操作。

3.情感态度价值观目标:–培养学生的编程兴趣和自信心,提高学生解决问题的能力;–培养学生团队合作和自主学习的意识;–使学生认识到计算机科学的重要性和应用价值。

二、教学内容本章节的教学内容主要包括Java语言的基本语法、数据结构、面向对象编程思想和标准库的使用。

具体安排如下:1.Java语言的基本语法:–变量和常量的声明和使用;–数据类型的定义和转换;–运算符和表达式的使用。

2.数据结构:–数组的声明和操作;–链表的实现和应用。

3.面向对象编程思想:–类的定义和对象的创建;–属性和方法的封装;–继承和多态的应用。

4.Java标准库的使用:–字符串的处理和操作;–集合框架的使用;–文件操作和输入输出流。

三、教学方法为了激发学生的学习兴趣和主动性,本章节将采用多种教学方法相结合的方式进行教学。

具体包括以下几种方法:1.讲授法:通过讲解Java语言的基本语法、数据结构、面向对象编程思想和标准库的使用,使学生掌握相关知识。

2.案例分析法:通过分析实际案例,使学生理解面向对象编程思想和Java标准库的应用。

3.实验法:安排实验课程,让学生动手编写Java程序,巩固所学知识,提高编程能力。

4.讨论法:学生进行小组讨论,分享学习心得和经验,培养学生的团队合作意识。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:《Java编程思想》或《Java核心技术》。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

大连科技学院java程序设计课程设计(B)题目银行取款管理系统学生姓名 XXX专业班级计算机(Z)13-1指导教师 XXX 职称讲师所在单位信息科学系软件工程教研室教学部主任 XXXX完成日期 2016年9月30日课程设计报告单综合评定:(优、良、中、及格、不及格)指导教师签字:2016年9月30日《java程序设计课程设计(B)》任务书一、课程设计任务及要求:任务:针对小型信息管理系统或若干综合性设计题目,选择一种软件开发模型,完成从需求分析、系统设计、系统实现,软件测试的全过程。

要求:(1) 根据软件系统开发的一般原则,完成相应系统的功能设计,完成主要功能模块的程序实现并进行测试训练,给出代码运行结果和相应的设计文档。

可以分组进行,但所有学生必须经历整个系统的开发全过程,以便加深对系统开发全过程的认识。

(2)提交课程设计报告。

(3)指标: 要求完成课程设计报告3000字以上(约二十页);完成所设计的题目,设计题目的语句行数的和在200行语句以上。

二、工作量2周(10个工作日)时间三、计划安排第1个工作日:查找相关资料、书籍,阅读示例文档,选择题目。

第2个工作日-第4个工作日:设计程序结构、模块图。

第5个工作日-第9个工作日:完成程序的编码,并且自己调试、测试。

穿插进行课程设计报告的撰写。

第10个工作日:上交课程设计报告,由教师检查软件测试效果、检查课程设计报告,给出学生成绩。

指导教师签字:2016年9月19日目录题目: (1)1.需求分析 (1)2.概要设计 (1)3.详细设计 (2)4.编码 (3)5.调试分析 (11)6.测试结果及运行效果 (11)7.系统开发所用到的技术 (13)8.课程设计总结 (14)参考文献 (145)附录全部代码 (16)题目:银行取款管理系统的设计与实现1.需求分析在传统的银行帐户管理中,其过程往往是很复杂的,繁琐的,帐户管理以入帐和出帐两项内容为核心,在此过程中又需要经过若干道手续,因为整个过程都需要手工操作,效率十分低下,且由于他们之间关联复杂,统计和查询的方式各不相同;且会出现信息的重复传递问题,因此该过程需要进行信息化,以利用计算机进行帐目管理。

为了提高银行的办事效率,减低银行工作人员的办事效率,降低传统银行的出入账计算方式,因此急需开发一套信息化的方式,开发合适的系统就成为了解决这一问题的核心。

2.概要设计根据以上所说的功能,银行取款管理系统应该有以下的功能:(1)定、活期存款操作:在定期,活期的存款操作上,根据自己需要存放的金额进行存放,并填写需要存储的年限,点击确认,进行存款,在设计定、活期存款上,首先判断输入的现金数是否为负数,不为负继续存入,为负不存入,主要是actionPerformed()函数实现,存款按钮与内层界面的确定按钮。

(2)取款操作:在取款操作上,根据自己所需要的金额进行取款,若银行里面的金额满足自己所取款的金额,则系统显示取款的金额,并显示剩余的金额,若银行里面的金额不满足自己所需的金额,则系统显示金额不足,不能取出相应的金额。

该模块主要实现:账户中现金的取出,余额的扣除。

借助函数get()函数实现。

(3)查询账户余额:在查询账户余额操作上,根据自己的存款,取款的操作,进行计算后,显示出银行账户的余额,该模块主要实现:当前账户现金加利息的查询以及输出,借助函数balance()实现。

(4)计算当前利息:在计算当前利息操作上,根据在定、活期存款的选择的基础上,根据个人的选择,系统会自动算出利息。

该模块只要实现:当前账户利息的查询机输出。

借助函数lixid()与lixih()实现。

3.详细设计系统模块结构设计如图1-1所示:图1-1 银行系统功能图通过上图的功能分析,把整个系统划分为6个模块:(1)存款操作。

该模块主要实现:现金的存放,余额的累加。

借助内外层两个actionPerformed()函数实现;(2)取款操作。

该模块主要实现:账户中现金的取出,余额的扣除。

借助函数get()函数实现;(3)当前余额查询操作。

该模块主要实现:当前账户现金加利息的查询以及输出,借助函数balance()实现;(4)当前利息查询操作。

该模块只要实现:当前账户利息的查询机输出。

借助函数lixid()与lixih()实现;(5)定活期的设置。

该模块主要实现:定期与活期存款的设定;利息的计算。

借助界面以及里层的actionPerformed()函数实现。

4.编码(一)存款操作:分析:首先判断输入的现金数是否为负数,不为负继续存入,为负不存入,主要是actionPerformed()函数实现,存款按钮与内层界面的确定按钮;该模块的具体代码如下所示。

if(e.getSource()==button_queding)//单击确定按钮{double cunkuanzhi=Integer.parseInt(text_cunkuanshu.getText());//存款数文本框字符串强制转换双精度型if (cunkuanzhi>0)//存款操作{balance+=cunkuanzhi; //存款操作使余额值增加}JOptionPane.showMessageDialog(this,"存款"+cunkuanzhi+"成功!");if(radio_dingqi.isSelected())//定、活期单选框利息计算传送rlixi=dlixi();if(radio_huoqi.isSelected())rlixi=hlixi();}if(e.getSource()==button_cunkuan)//单击存款按钮{String dingqis[]={"0.25","0.5","1","2","3","5"};//组合框内容数组new MessageJDialog(dingqis);//新建MessageJDialog类对象}(二)取款操作:get()分析:先输入取款数,如果取款数大于余额,则取出账户中全部余额,否则继续取款,余额减少。

该模块的具体代码如下所示。

public double get() //取款操作,参数为取款金额,返回实际取到金额{String password=JOptionPane.showInputDialog(this,"请输入取款数");double qukuanzhi=Integer.parseInt(password);if (qukuanzhi>0){if (qukuanzhi<=this.balance)this.balance-= qukuanzhi; //取款操作使余额值减少else //账户余额不够所取时{qukuanzhi = this.balance+rlixi; //取走全部余额this.balance = 0;JOptionPane.showMessageDialog(this,"您的余额不足,已为您取出全部余额!");}return qukuanzhi; //返回实际取款额}return 0;}(三)查询余额:balance()分析;余额变量为成员变量balance,直接返回balance。

该模块的具体代码如下所示。

public double balance() //查看账户余额{return balance+rlixi;}(四)查询利息:lixid();lixih()分析;该模块主要实现利息的查询及输出。

点击查询当前利息按钮,显示当前利息。

主要方法是给出当前利息率,按订活期的不同选择不同的函数,用switch语句实现利息的选择计算。

该模块的具体代码如下所示。

public double dlixi()//成员方法:计算定期利息{double a=balance;double c=dnianfeng;switch((int)(c*4)){case 1: return(a*0.0248*c);case 2: return(a*0.0264*c);case 4: return(a*0.028*c);case 8: return(a*0.0352*c);case 12: return(a*0.04*c);case 20: return(a*0.044*c);default: return 0;}}public double hlixi()//成员方法:计算活期利息方法{double hnianfeng=Double.parseDouble((text_huoqi.getText()));double a=balance;double c=hnianfeng;double s=a*0.004*c;return s;}(五)主界面的建立:bankJFame分析:该模块主要是整个系统的主界面。

实现图形用户界面的输出,使用户更直观地去操作本系统。

主要的组件有:三块面板;文本框;标签;按钮;该模块的具体代码如下所示。

import java.awt.event.*;import java.awt.*;import javax.swing.*;import java.awt.FlowLayout;public class bankJFrame extends JFrame implements ActionListener{private JTextField text_zhanghao,text_kahao;//定义账号,卡号文本行private JButton button_cunkuan,button_qukuan,button_yue,button_lixi;//定义存款,取款,查询余额按钮private double balance;//成员变量--查看余额private double rlixi;public bankJFrame(){super("银行存取款管理系统");//主窗口标题this.setBounds(300, 240, 400, 150);//窗口初弹出坐标及大小this.setResizable(false);//窗口大小不能改变this.setBackground(Color.lightGray);//颜色设置this.setLayout(new java.awt.FlowLayout(FlowLayout.CENTER));//面板布局为居中this.setDefaultCloseOperation(EXIT_ON_CLOSE);JPanel panel1=new JPanel();//新建第一个面板this.getContentPane().add(panel1,"North");panel1.add(new JLabel("账户"));text_zhanghao=new JTextField("zj",6);text_zhanghao.setEditable(false);//文本行不可编辑panel1.add(text_zhanghao);panel1.add(new JLabel("卡号"));//用户卡号标签及文本行text_kahao=new JTextField("622627************",15);text_kahao.setEditable(false);//文本行不可编辑panel1.add(text_kahao);this.setVisible(true);//窗口可见JPanel panel2=new JPanel();this.getContentPane().add(panel2,"South");//面板布局及添加面板至主面板button_cunkuan=new JButton("存款");//存款按钮panel2.add(button_cunkuan);button_cunkuan.addActionListener(this);button_qukuan=new JButton("取款");//取款按钮panel2.add(button_qukuan);button_qukuan.addActionListener(this);button_yue=new JButton("查询当前余额");//查询当前余额按钮panel2.add(button_yue);button_yue.addActionListener(this);button_lixi=new JButton("当前利息");//当前利息按钮panel2.add(button_lixi);button_lixi.addActionListener(this);this.setVisible(true);}public void actionPerformed(ActionEvent e)//单击事件处理方法{if(e.getSource()==button_cunkuan)//单击存款按钮{String dingqis[]={"0.25","0.5","1","2","3","5"};//组合框内容数组new MessageJDialog(dingqis);//新建MessageJDialog类对象}if(e.getSource()==button_yue)//单击查询余额按钮{double relixi=balance();JOptionPane.showMessageDialog(this,"尊敬的zj先生,您的当前账户余额为:"+(relixi)+"元");}if(e.getSource()==button_qukuan)//单击取款按钮{double qk=get();JOptionPane.showMessageDialog(this,"取款"+qk+"元成功!");}if(e.getSource()==button_lixi)//单击计算利息按钮{JOptionPane.showMessageDialog(this,"尊敬的zj先生,您的当前账户利息为:"+rlixi+"元");}}(五)内层界面的建立:MessageJDialog分析:该模块主要是为主界面而服务的一个子框架。

相关文档
最新文档