java编写小程序 ATM自助取款机

合集下载

java银行存取款程序设计的实验步骤

java银行存取款程序设计的实验步骤

一、介绍1.1 Java银行存取款程序设计的背景1.2 实验目的二、实验步骤2.1 设计思路在设计Java银行存取款程序之前,需要先明确程序的功能和流程。

程序的功能主要包括用户登入、存款、取款、查询余额等。

程序的流程主要包括用户输入账号和密码登入、选择存款或取款操作、输入操作金额、更新账户余额等。

2.2 环境准备在进行Java程序设计之前,需要安装好Java开发环境,比如Eclipse、IntelliJ IDEA等集成开发环境,以及Java开发工具包(JDK)。

2.3 创建Java工程在集成开发环境中创建一个新的Java工程,为该工程命名,并创建一个新的Java类作为程序的入口。

2.4 编写用户登入功能创建一个User类,包括用户账号和密码等属性,设计一个登入方法用于验证用户输入的账号和密码是否正确。

2.5 编写存款和取款功能创建一个BankAccount类,包括账户余额等属性,设计存款和取款方法,用于更新账户余额。

2.6 编写查询余额功能在BankAccount类中设计查询余额方法,用于展示账户当前余额。

2.7 编写主程序在主程序中实例化User类和BankAccount类,实现用户登入后的存取款操作。

三、实验总结3.1 实验结果分析经过以上步骤的设计和实现,得到了一个简单的Java银行存取款程序,可以实现用户登入、存款、取款、查询余额等功能。

3.2 实验收获通过本次实验,加深了对Java面向对象编程的理解,掌握了如何设计和实现一个简单的银行存取款程序。

3.3 实验不足与改进在程序设计和实现过程中,可能存在一些不足之处,比如对异常情况的处理不够完善,可以进一步完善程序的健壮性和稳定性。

四、参考文献4.1 Java编程思想4.2 Java核心技术以上就是Java银行存取款程序设计的实验步骤,通过本次实验,可以更好地掌握Java面向对象编程的知识,并且对程序设计和实现有了更深入的理解。

希望本文对您有所帮助。

ATM(JAVA课程设计)

ATM(JAVA课程设计)

ATM柜员机模拟程序摘要使用图形用户界面。

当输入给定的卡号和密码(初始卡号为123456和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:查询余额:初始余额为50000元ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。

ATM存款:不能出现负存款。

修改密码:只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

我所设计的ATM柜员机主要是由登录页面模块还由选择服务模块组成,其中选择服务模块又由取款模块、查询余额模块、修改密码模块、退卡模块组成。

一个系统界面的好坏直接影响到用户的操作,界面设计要求样式美观、简单明了、方便易操作。

我设计的界面主要分为窗体、菜单、按钮和文本输入框几个部分,分别执行相应的操作。

关键字:图形用户界面;ATM;柜员机;模拟程序;模块;ATM machines simulation programAbstractUse the graphical user interface. When the input given card number and password (initial card number for 123456 and password for 123456), the system can login ATM machines system, users can according to the following rules:Inquires the balance: initial balance is 50000 yuan ATM withdrawals: every time a multiple of the amount of, the total will not more than 5000 yuan, the amount of withdrawals allows no overdraft.ATM deposits: can't negative deposits.Change the password: only the correct password is old, the new password accords with a requirement, and two enter the same case can be modified successfully password.I designed by ATM machines is mainly composed of the login page module by choice service module is, selecting the service module by withdrawals and module, inquires module, modify the password balance module, return card modules. A system interface has a direct influence on the user's operation, interface design requirements style beauty, simple and clear, make the operation easy. I design interface are divided into form, menu, button and text input box sectionsKeywords:graphical user interface; ATM; Automated Teller Machine; simulation program; module;1 系统需求分析1.1 功能需求分析本ATM柜员机的主要功能如下所述:要求使用图形用户界面。

ATM自动取款机程序设计简洁范本

ATM自动取款机程序设计简洁范本

ATM自动取款机程序设计
ATM自动取款机程序设计
1. 简介
ATM(自动取款机)是一种自动化设备,用户可以在不需要银行工作人员的情况下,自行进行各种银行业务操作,包括取款、查询余额、转账等。

为了实现这样的功能,需要设计一个ATM自动取款机程序。

2. 设计思路
ATM自动取款机程序的设计需要考虑以下几个方面:
用户身份认证:用户需要通过输入正确的账号和密码进行身份认证,确保只有合法用户可以进行操作。

功能选项:用户登录成功后,系统需要提供各种功能选项供用户选择,如取款、查询余额、转账等。

金额验证:在进行取款、转账等操作时,需要验证用户输入的金额是否合法,包括用户的账户余额是否足够等。

交易记录:系统需要记录每一笔交易的相关信息,包括交易时间、金额、余额等。

安全性:程序需要确保用户的账号和密码等敏感信息不会被泄露,并且在网络传输时进行加密保护。

3. 基本功能实现
3.1 用户身份认证
用户需要输入正确的账号和密码进行身份认证,可以使用数据库存储用户账号和密码的方式来验证用户输入的信息是否正确。

3.2 功能选项
用户登录成功后,系统需要提供各种功能选项供用户选择,可以使用菜单的方式展示选项,用户根据菜单选择数字或字母对应的功能。

例如,用户输入\。

ATM取款机UMLUML建模实例全过程

ATM取款机UMLUML建模实例全过程

在我国十年前ATM(自动取款机)还是一个很新鲜的事物,现在在城市的大街小巷随处可见。

我们在日常生活中也经常和ATM打交道。

本章我们将以简化的ATM系统为例将前面几章中学到的用例图、类图、顺序图、状态图、活动图及协作图知识运用到此例中。

5.1用例图参与者"银行储户"和ATM机。

简化后的ATM机仅有取款、存款及其余功能。

其余功能不做详细说明。

图5.1 自动取款机(ATM)系统用例图银行储户在ATM机上完成取款、存款及其他业务。

5.2类图图5.2所示的银行系统类图和图3.5是类似的,只是将工作人员换成了ATM。

整个银行系统包括了帐户库、银行储户库及ATM 系统。

许多单个的帐户组成了帐户库。

帐户具有帐户类型、帐户号、余额三个属性,均为private,其类型分别为char,int,double。

六个操作分别为setType、getType、getAccountNumbe、setAccountNumbe、caculateBalance、getBalance,除caculateBalance 为protected其余均为public。

setType设置帐户类型,返回类型为void,参数类型为char,输入帐户类型。

getType获取帐户类型,返回类型为char,无参数。

setAccountNumbe设置帐户号,返回类型为void,参数类型为int,输入帐户号。

getAccountNumbe获取帐户号,返回类型为int,无参数。

caculateBalance计算余额,返回类型为void,参数为double,第一个参数为输入存取款数额,第二个参数为存款余额,既为输入也为输出。

getBalance获取帐户余额,返回类型为double,无参数。

许多银行储户组成了储户库。

ATM系统包含了许多ATM机。

银行储户及ATM机两个类包含哪些属性,哪些操作,它们的可见性及操作的返回类型、参数个数、参数类型从类图上都一目了然。

软件工程课程设计-ATM取款服务系统

软件工程课程设计-ATM取款服务系统

软件工程课程设计--------ATM机取款服务系统学校:苏州大学院系:计算机科学与技术学院专业:计算机科学与技术组员:**0727401003张超0727401001丁杰荣0727401002苏栋梁07274010141.引言1.1编写目的本次软件设计的目的是建设一个通过软件实现ATM机各项功能的模拟系统,能够更加方便的为客户提供取款,转账和余额查询等功能,并且按模块划分功能,最大程度的来提神系统的健壮性和可扩展性。

根据迭代式开发原理,逐步完善,直至完全满足客户的需求。

1.2适用范围ATM的功能要求支持在本公司注册过的所有银行,为其提供服务。

1.3背景ATM自动取款机是由计算机控制的持卡人自我服务型的金融专用设备。

ATM是英文Automatic Teller Machine的缩写。

ATM是最普遍的自助银行设备,可以提供最基本的银行服务之一,即出钞交易,有些全功能的产品还可以提供信封存款业务。

在ATM自动取款机上也可以进行账户查询、修改密码和转账的业务。

作为自助式金融服务终端,除了提供金融业务功能之外,ATM 自动取款机还具有维护、测试、事件报告、监控和管理等多种功能。

ATM自动取款机系统,是一个有终端机,ATM系统,数据库组成的应用系统。

系统功能有用户在ATM上提取现金、查询账户余额、修改密码及转账功能。

ATM自动取款机系统向用户提供一个方便、简单、及时、随时随地可以随心所欲存取款的互联的现代计算机化的网络系统。

可以大大减少工作人员,节约人力资源的开销,同时由于手续程序减少也可以减轻业务员的工作负担,有效地提高了整体的工作效率和精确度。

减少了用户办理业务的等待时间;用户可以随时随地可以随心所欲存取款,并且操作简单易懂;用户还可以选择在柜台办理业务或自己在自动提款机和自动取款机办理业务。

1.4文档概述ATM自动柜员机系统是由计算机控制的银行自动出纳系统,主要服务于活期储蓄,实现客户自助服务的电子化设备。

原创Java银行管理系统取款

原创Java银行管理系统取款

原创Java银行管理系统取款简介银行管理系统是一种提供银行服务的软件系统,其中之一的功能是允许用户进行取款操作。

本文将介绍一个基于Java编写的银行管理系统,并详细讲解如何实现取款功能。

系统概述银行管理系统是一个面向客户的软件系统,其主要功能包括账户管理、存款、取款、转账、查询等。

本系统使用Java语言进行开发,采用面向对象的编程思想,使用MVC(模型-视图-控制器)架构设计实现。

取款功能设计1. 页面设计取款功能将在用户的个人账户页面中展示。

用户可以输入取款金额,点击取款按钮进行操作。

在金额输入框中,将进行必要的格式验证,确保用户输入的金额合法。

系统将在用户点击取款按钮后,根据用户输入的金额进行取款操作,并给出相应的提示。

2. 后端处理2.1 验证金额合法性在后端处理取款操作之前,应该对用户输入的金额进行合法性验证。

首先检查金额是否大于0,然后检查账户余额是否足够进行取款。

如果金额合法,可以继续后续的取款操作。

2.2 更新账户余额在进行取款操作之后,需要更新用户的账户余额。

这可以通过减去取款金额来实现。

确保在更新账户余额之前,再次验证账户余额是否足够支付取款金额。

如果余额不足,应给出相应的提示并终止取款流程。

2.3 记录取款信息为了记录用户取款操作,可以在数据库中创建一个取款记录表。

每次用户进行取款操作时,将取款金额、取款时间以及用户账户信息存入该记录表中。

这可以用于后续的查询和统计。

3. 数据库设计银行管理系统是一个涉及到数据存储的系统,因此需要一个数据库来存储用户的账户信息、取款记录等。

在本文中,我们使用MySQL作为数据库。

3.1 账户表账户表用于存储用户的账户信息,包括账户ID、账户余额等字段。

账户表的结构如下:CREATE TABLE account (id INT PRIMARY KEY AUTO_INCREMENT,balance DECIMAL(10, 2));3.2 取款记录表取款记录表用于存储用户的取款记录信息,包括取款ID、取款金额、取款时间、账户ID等字段。

ATM机的代码(作业)

ATM机的代码(作业)

ATM机的代码(作业)import java.util.Scanner;public class ATMDemo {/*** 简单ATM机取款过程模拟*/public static void main(String[] args) {String pass = ""; // 保存⽤户输⼊密码int amount = 0; // 取款⾦额String password = "111111"; // ⽤户密码int count = 0; // 记录密码输⼊次数boolean isPass = false; // 密码是否通过验证Scanner input = new Scanner(System.in);while (count < 3 && !isPass) {System.out.print("请输⼊密码:");pass = input.next();if (!password.equals(pass)) {count++;continue;}isPass = true; // 密码通过验证System.out.print("请输⼊⾦额:");amount = input.nextInt();while (amount > 0) {if (amount <= 1000 && amount % 100 == 0) {System.out.println("您取了" + amount + "元");System.out.println("交易完成,请取卡!");break; // 完成交易,退出} else {System.out.print("您输⼊⾦额的⾦额不合法,请重新输⼊:");amount = input.nextInt();continue; // 继续让⽤户输⼊⾦额}}}if (!isPass) { // ⽤户输⼊了3次错误密码System.out.print("密码错误,请取卡!");}}}。

ATM自助取款机系统java代码(大全)

ATM自助取款机系统java代码(大全)

ATM自助取款机系统java代码(大全)第一篇:ATM自助取款机系统java代码(大全)public void actionPerformed(ActionEvent e)//界面显示控制 {String IC_Number=“";String password=”“;String IC_No=”“;z30.setVisible(false);floatleftmoney=0;floatmoneys=0;float mon=0;float money1=0;float money2=0;if(true){int No_50=0,No_100=0;String strin=”select NO_50,NO_100 from ATM ATM_ID='123456789'“;ResultSetrsSQLSelect=executeQuery(stri n);try{ if(rsSQLSelect.next()){No_50=Integer.parseInt(rsSQLSelect.getString(”NO_50“));No_100=Integer.parseInt(rsSQLSelect.getString(”NO_100“));where}}catch(Exception er){System.out.println(”查询ATM机信息出错!“);}if(No_50==0&&No_100==0){z1.setVisible(false);t1.setText(”对不起,本ATM自动取款机暂停服务!“);cl.show(c,”1“);}}cl.show(c,”1“);if(e.getSource()==z1){t3.setText(”“);text1.setText(”“);cl.show(c,”2“);}if(e.getSource()==z4||e.getSource()==z6||e.getSource()==z1 1||e.getSource()==z16||e.getSource()==z18||e.getSource()==z22) { closeDBConnectio n();cl.show(c,”1“);}if(e.getSource()==z2){ closeDBConnection();System.exit(0);}if(e.getSource()==z3){ IC_Number=text1.getText().trim();if(getname(IC_Number)){z5.setVisible(true);pw1.setVisible(true);t4.setVisible(true);pw1.setText(”“);t5.setText(”“);cl.show(c,”3“);}else{t3.setText(”您输入的卡号不存在,请重新输入!“);cl.show(c,”2“);}}if(e.getSource()==z5){password=pw1.getText().trim();IC_Number=text1.getText().tr im();if(!login(IC_Number,password)){t5.setText(”您输入的密码错误,请重新输入!“);pw1.setText(”“);n--;cl.show(c,”3“);}else{t5.setText(”“);cl.show(c,”4“);}if(n<0){n=2;t5.setText(”您已经三次输入错误密码,谢谢您的使用,欢迎下次光临!“);z5.setVisible(false);pw1.setVisible(false);t4.setVisible(false);cl.show(c,”3“);}}if(e.getSource()==z7){t33.setText(”“);cl.show(c,”5“);}if(e.getSource()==z8)//余额查询 { DBAccess d=new DBAccess();String str3=”“;String stri=”“;IC_Number=text1.getText().trim();t29.setText(IC_Number);leftmoney=getmoney(IC_Number);t30.setText(Float.toString(leftmoney));stri=”selectbank_name from IC,bank where IC.bank_NO=bank.bank_NO and IC_ID='“+IC_Number+”'“;ResultSetrsSQLSelect=d.executeQu ery(stri);try{if(rsSQLSelect.next()){str3=rsSQLSelect.getString(”bank_name“);//mit();}} catch(Exception er){}t32.setText(str3);cl.show(c,”10“);}if(e.getSource()==z9){t23.setText(”“);cl.show(c,”9“);}if(e.getSource()==z10){t28.setText(”“);cl.show(c,”11“);}if(e.getSource()==z12){ DBAccess d=new DBAccess();IC_Number=text1.getText().trim();fetchmoney=Integ er.parseInt(text2.getText());if(fetchmoney<=0){t9.setText(”取款金额非法!请重新输入!“);text2.setText(”“);cl.show(c,”6“);return;}if(fetchmoney>1000){t9.setText(”每次交易金额最大为1000元!“);text2.setText(”“);cl.show(c,”6“);return;}if(fetchmoney%50!=0){t9.setText(”取款金额只能为50的倍数!“);text2.setText(”“);cl.show(c,”6“);return;} leftmoney=getmoney(IC_Number);if(fetchmoney>leftmoney){t9.setText(”您的余额不足,请重新输入取款金额!“);text2.setText(”“);cl.show(c,”6“);return;}int No_50=0,No_100=0,x_50=0,x_100=0,mo=0;String str1=”select NO_50,NO_100 from ATM where ATM_ID='123456789'“;ResultSetrsSQLSelect=d.executeQuery(s tr1);try{ if(rsSQLSelect.next()){No_50=Integer.parseInt(rsSQLSelect.getString(”NO_50“));No_100=Integer.parseIn t(rsSQLSelect.getString(”NO_100“));}}catch(Exception er){System.out.println(”查询ATM机信息出错!“);}x_100=fetchmoney/100;if(No_100{ mo=fetchmoney-No_100*100;x_50=mo/50;if(x_50>No_50){t9.setText(”取款机现钞不足!“);text2.setText(”“);cl.show(c,”6“);return;}else{No_50=No_50-x_50;No_100=0;}}else{No_100=No_100-x_100;x_50=(fetchmoney-x_100*100)/50;if(x_50>No_50){t9.setText(”取款机50面值现钞不足!“);text2.setText(”“);cl.show(c,”6“);return;}else{No_50=No_50-x_50;}}String str2=”update ATM set NO_50=“+No_50+” where ATM_ID='“+ATM_id+”'“;String str3=”update ATM set NO_100=“+No_100+” whereATM_ID='“+ATM_id+”'“;d.executeUpdate(str2);d.executeUpd ate(str3);setmoney(fetchmoney,IC_Number);t12.setText(Float.toString(fetchmoney));cl.show(c,”7“);text2.setText(”");第二篇:ATM取款机java课程设计黄淮学院JAVA 课程设计报告题目:《ATM柜员机》课程设计学院:信息工程学院专业:计算机科学与技术指导老师:二0一三年六月目录课程设计过程概述.......................................................................................3 2 课程设计题目描述和基本设计要求...........................................................3 3 系统需求分析...............................................................................................3 3.1 功能需求分析···················································································· 3 3.2 其他需求分析.................................................................................... 4 4 系统设计........................................................................................................4 4.1 总体设计........................................................................................... 4 4.2 ATM柜员机界面设计......................................................................... 5 4.3 各功能模块设计.. (7)4.3.1 登陆页面模块设计............................................................. 7 4.3.2 选择服务模块设计............................................................. 8 4.3.3 取款模块设计..................................................................... 9 4.3.4 修改密码模块设计............................................................. 9 4.3.5 退卡模块设计. (10)4.4 异常处理情况说明.......................................................................... 10 5 系统实现与测试.........................................................................................11 6 课程设计总结.............................................................................................13 6.1 遇到的问题及解决办法.................................................................. 13 6.2 心得体会......................................................................................... 14 参考文献..........................................................................................................15 附录 (15)ATM初始账号:000000初始密码:123456ATM柜员机课程设计过程概述2013年6月,JAVA课程设计在1#楼六楼机房进行,持续时间为两周。

基于java_ATM机_银行存取款系统的设计与实现(含源文件)

基于java_ATM机_银行存取款系统的设计与实现(含源文件)

本科毕业论文(设计)银行存取款系统的设计与实现姓名:__ ________ 系别: 计算机与信息技术学院_专业:_ 计算机科学与技术_ 学号:__ _____指导教师:__ _ _________年月日目录引论 (1)1银行存取款系统概述 (1)1.1背景 (1)1.2意义 (1)2 银行存取款系统需求分析 (1)2.1系统需求 (1)2.2功能需求 (1)2.2.1用户注册和登陆功能 (1)2.2.2用户存取款转账和查询历史功能 (1)2.3软件属性需求 (2)2.4业务流程描述 (2)3.银行存取款系统总体设计 (2)3.1系统设计概述 (2)3.2注册帐户 (2)3.3登录 (2)3.4存款 (2)3.5取款 (2)3.6转账 (2)3.7查询历史 (2)3.8退出 (3)4 Oracle数据库的设计 (3)4.1 Oracle数据库设计概论 (3)4.2 表的结构设计 (3)4.2.1用户表 (3)4.2.2历史表 (3)4.3 PL/SQL存储过程的设计 (3)4.3.1用户表存储过程的设计 (4)4.3.2历史表存储过程的设计 (4)5 银行存取款系统的实现 (5)5.1用户登陆模块的实现 (5)5.1.1界面样式 (5)5.1.2功能实现 (5)5.2新用户注册模块的实现 (6)5.2.1界面样式 (6)5.2.2功能实现 (6)5.3用户操作模块的实现 (7)5.3.1界面样式 (8)5.3.2功能实现 (8)5.4存款模块的实现 (9)5.4.1界面样式 (9)5.4.2功能实现 (9)5.5取款模块的实现 (10)5.5.1界面样式 (11)5.5.2功能实现 (11)5.6转账模块的实现 (12)5.6.1界面样式 (12)5.6.2功能实现 (12)5.7查询历史记录模块的实现 (15)5.7.1界面样式 (15)5.7.2功能实现 (15)6发布程序及分包规范 (16)结论 (16)参考文献 (17)致谢 (17)银行存取款系统的设计与实现摘要计算机科学技术的发展不仅极大地促进了整个科学的发展,而且明显加快了经济信息化和社会信息化的进程。

UML建模 - ATM取款机

UML建模 - ATM取款机

UML建模 - ATM取款机软件建模(UML)作业班级:计算机0806班学号:20213007 姓名:姜俊方UML个人作业一、ATM机需求分析图ATM自动取款读卡机模块键盘输入模块认证模块显示模块打印报表报表吐钱机模块 IC监视器模块二、用例图用于描述一组用例、参与者及它们之间的连接关系。

用例图仅仅从角色使用系统的角度描述系统中的信息,也是站在系统外部查看系统功能,而并不描述该功能在系统内部是如何实现的。

用例图是被称为参与者的外部用户所能观察到的系统功能的模型图。

用例可应用于整个系统,也可应用于系统的一部分,包括子系统、单个的类甚至接口。

通常,用例不仅代表这些元素所期望的行为,而且还可把这些元素用作开发过程中测试用例的基础。

椭圆:用例,是用户与计算机之间的一次典型交互作用。

人形:参与者(外部执行者)是指用户在系统中所扮演的角色。

ATM系统的用例图存钱银行工作人员添加信息取钱客户修改密码维护硬件设备转账查询余额付款银行工作人员ATM提款系统用例图存款查余额用户付款信用取款验证用户更改密码三、类图用于描述一组类、接口、协作及它们间的静态关系。

在面向对象系统的建模中,类图最为常用,它用来阐明系统的静态结构。

类是对一组具有相同属性、操作、关系和语义的对象的描述,其中对类的属性和操作进行描述时的一个最重要的细节是它的可见性。

一个典型的系统模型中通常有若干个类图。

一个类图不一定要包含系统中所有的类,一个类可加到几个类图中。

在类图中类用矩形框来表示,它的属性和操作分别列在分格中。

类之间可以多种方式链接(如关联、泛化、依赖和实现等)。

关系用类框之间的连线来表示,不同的关系用连线上和连线端头处的修饰符来区别。

类图账户ATM屏幕ATM键盘ATM读卡器吐钱机数据库ATM系统类图四、顺序图(序列图)顺序图表示对象之间传送消息的时间顺序。

顺序图用来描述对象之间消息发送的先后次序,阐明对象之间的交互过程以及在系统执行过程中的某一具体时刻将会发生什么事件。

银行ATM自动取款机模拟程序

银行ATM自动取款机模拟程序

四、系统设计
• 模拟ATM取款机的操作:
首先录入账户信息,格式如下
卡号 123456
姓名 wzy
密码
余额
123456 10000.00
四、系统设计
• 模拟ATM取款机的操作:
㈠、登录功能:输入帐号和密码进行登录, 如密码错误提示重新输入密码,如帐号错误 提示无此帐户。 ㈡、查询功能:查询账户余额。 ㈢、取款功能:取款,更新余额。 ㈣、修改密码:输入原密码和新设置密码。 ㈤、吃卡功能:密码输错3次,锁卡。 ㈥、转账功能:输入转账的转出账户以及转 账金额,进行转账。
二、课程设计任务与要求
要求: 1. 要求利用面向对象的方法以及C++的 编程思想来完成系统的设计; 2. 要求在设计的过程中,建立清晰的类 层次; 3. 在系统中至少要定义类,若有多个类, 每个类中要有各自的属性和方法; 4. 在系统的设计中,要求使用面向对象 的继承与多态等机制。
要求
三、需求分析
五、详细设计
4.3 类的设计
1)、定义了一个ATM取款机类,类中包括以下几部分: 公有段: 依次为登陆界面,核对密码,修改密码,取款,转账,查询信息,退 出系统,功能界面,锁机。 私有段: 记录密码输入次数。 友元函数: 取款,转账,查询信息,账号,密码。 2、)定义了一个consumer 类,类中包括以下几部分: 公有继承了consumer类 私有段: 卡号,用户姓名,用户密码,存款钱数 保护段: 取得姓名,取得卡号,取得密码,取得余额,设置密码,取钱
• 4)转账功能
开始
主界面
选择查询的操 作序号
图4-34
请输入所转账 号 请输入所转金 额 转账成功, 余额
余额不足
四、系统设计

C语言模拟ATM机的编写程序

C语言模拟ATM机的编写程序

C语言模拟ATM机的编写程序#include <stdio.h>void main(){long int a,b,c,d,e,f,g,k,l,m,n,o,p,h;n=0;h=10000;k=123456;loop0: printf("\t\t\t欢迎使用中国邮政ATM取款机!\n\n");printf("请插入你的银行卡,并输入你的密码,三次密码输入错误,将终止程序:\n");scanf("%ld",&l);if(k==l){loop1: printf("请输入你选择的操作类型:\n");printf("请输入0-4进行选择:\n");printf("1:<转账>\t2:<查询>\t3:<取款>\t4:<修改密码>\t0:<取卡>\n");scanf("%ld",&a);switch(a){case 1: printf("请输入转账账号:\n");scanf("%d",&o);printf("请输入你需要转账的金额:\n");scanf("%d",&p);printf("请输入你选择的操作类型:\n");printf("请输入0或1进行选择:\n");printf("1:<确认>\t0:<返回>\n");h=10000-p;scanf("%ld",&b);switch(b){case 1:printf("\n转账%d元人民币成功!\n\n",p);goto loop1;break;case 0:goto loop1;break;default :printf("\n无此操作项!\n\n");goto loop1;}break;loop4:case 2:printf("请输入你选择的操作类型:\n");printf("请输入0-2进行选择:\n");printf("1:<查询余额>\t2:<查询明细>\t0:<返回>\n");scanf("%ld",&c);switch(c){case 1:printf("\n你的余额为:%5d\n\n",h);goto loop1;break;case 2:printf("\n你的账单为:******。

【JavaScript】简易ATM机

【JavaScript】简易ATM机

【JavaScript】简易ATM机【需求】1. 打开界⾯显⽰菜单2. 点击1、2、3操作,进⾏相应的操作3. 点击4则可以退出此程序<script>/* 简易atm机,请输⼊您要的操作1.存钱2.取钱3.显⽰余额4.退出 */var operate = prompt('请输⼊您要的操作' + '\n' + '1.存钱' + '\n' + '2.取钱' + '\n' + '3.显⽰余额' + '\n' + '4.退出');var money = 100;while (1) {if (operate == 1) {// 操作1 存钱var add = prompt('你存多少钱');money = parseInt(money) + parseInt(add);operate = '3';} else if (operate == 2) {// 操作2 取钱var cut = prompt('你取多少钱');money = parseInt(money) - parseInt(cut);operate = '3';} else if (operate == 3) {//操作3 查余额alert('你现在的账户有' + money + '元');var operate = prompt('请输⼊您要的操作' + '\n' + '1.存钱' + '\n' + '2.取钱' + '\n' + '3.显⽰余额' + '\n' + '4.退出'); } else {alert('正在退出');break;}}</script>【注意】1. 关键点在于给operate赋值3,然后进⾏下⼀轮循环2. while取值为1,是为了让循环语句⼀直循环,除⾮碰见break。

JAVA-循环体小练习——ATM取款机

JAVA-循环体小练习——ATM取款机

JAVA-循环体⼩练习——ATM取款机需求描述:假设⼀个简单的ATM机的取款过程为:⾸先提⽰⽤户输⼊密码,假设默认密码为111111,最多只能输⼊3次,超过3次则提⽰⽤户“密码错误,请取卡”,结束交易。

如果⽤户密码正确,再提⽰⽤户选择⾦额,“请输⼊0到6中任意数字选择对应钱数:0-⼿动输⼊⾦额,1-100元, 2-300元,3-500元, 4-1000元, 5-3000元, 6-5000元”。

输⼊数字如果错误,提⽰“输⼊错误,是否继续 Y/N”,选择Y重新提⽰输⼊钱数编号,选择N提⽰“输⼊错误,请取卡!”。

选择数字为1到6,打印对应钱数,并提⽰“是否继续 Y/N”。

选择数字0,ATM机只能输出100元纸币,⾃定义钱数要求最低为100元,最⾼为1000元。

如果⽤户输⼊的⾦额符合上述要求,则打印输出⽤户取的钱数,并提⽰“取款完成,是否继续Y/N”;否则输出⼀句话“⾦额错误,是否继续 Y/N”,如果⽤户输⼊Y,提⽰⽤户重新选择取款⾦额,如果⽤户输⼊ N,打印“交易取消,请取卡!”ps:取款成功后,应该提⽰⽤户是否继续,总取款⾦额不能超过2万【解题思路】1、验证密码 ①密码正确,继续执⾏下⾯操作; ②密码错误3次,return;2、取款操作。

全部包含在 while循环内部。

 ①提⽰选择编号; ②根据编号,给money赋值。

⽤switch结构实现。

1~6:直接给money赋固定值,0:⼿动赋值操作; ③验证取款是否成功。

money-本次取款⾦额,moneySum-本次取款之前的总⾦额 判断moneySum+money是否>20000,3种情况: >2000 本次取款超额,但moneySum之前并不⾜20000,继续下次循环; =2000 取完本次money后,刚好满额。

money可以加到sum上,然后return; <2000 取完本次money后,仍未上限。

money可以加到sum上,继续下次循环。

ATM

ATM

谢观赏 共同努力
关系图
系统功能模块简介
本系统实现以下内容: ◆ 1.身份认证 ◆ 2.密码修改 ◆ 3.取款
◆ 4.转帐
◆ 5.存钱 ◆ 6.查询余额
ATM程序系统设计
◆用户登录模块的设计
1.用户输入用户名和密码 2.服务器端根据用户输入的用户名和密码,到后台数 据库进行查询,如果存在这样的记录,表示登录成功 3.如果用户输入的用户名和密码不匹配,那么就提示 用户名和密码不正确,且又返回登录界面,让用户重 新输入用户名和密码。
需求分析
1、用户拥有姓名、卡号、密码、年龄、性别、身份 证号、联系电话、地址、余额等基本信息; 2、满足用户的基本操作包括存、取现金、转账等务; 3、修改用户的账户密码; 4、查询用户的余额信息。
概念结构设计
系统E-R图可 以将各个实体之 间的关系显示出 来,将各个实体 间的属性依赖表 示明白。如右图
◆ 配置JDBC驱动程序 ◆ ATM数据库设计 ◆ ATM各功能模块设计
JDBC概述
JDBC是一组类,在Java中用于开发客户/服务器数据库 应用程序 JDBC内嵌于Java中,提供存取关系数据库的标准库。 其主要由两部分组成:JDBC API和JDBC驱动程序管 理器。 在Java语言中融入了对各种数据库进行存取的技术,包 括Access、SQL Server、Oracle、MySql等等 所有用户界面的生成、事件驱动、对数据库的存取等功 能均是由Java来实现的。
修改密码界面: 实现密码修改密 码功能
项目展示 --取款界面
项目展示 --转账界面
转账界面: 实现从一个 账户转账到 另一个账户
项目展示 --存款界面
存款界面: 实现存款功 能
项目展示

ATM自动取款机系统的设计及实现--代码

ATM自动取款机系统的设计及实现--代码

ATM自动取款机系统的设计与实现---代码1.实现类//说明:1.管理员登录密码是:luolin//初始用户import java.util.Scanner;public class Achieve {Scanner in = new Scanner(System.in);public void login_interface()//初始界面{System.out.println("\n\n********************** ");System.out.println("** 欢迎进入ATM机**");System.out.println("**********************");System.out.println(" 选择登录方式:");System.out.println(" 1.管理员");System.out.println(" 2.客户");System.out.println(" 3.退出");System.out.println("**********************\n") ;System.out.print("请输入(1~3):");int n = in.nextInt();Bank_Manager bm = new Bank_Manager();User u = new User();switch(n){case 1 :bm.manager_login_passwd();case 2 :u.login();case 3 :System.out.println("本次操作结束!!");break;default: System.out.println("你输入有误,本次操作结束!!");System.exit(0);}}public static void main(String args[]) {Achieve a = new Achieve();a.login_interface();}}2.用户类:import java.util.Iterator;import java.util.Scanner;public class User {Scanner in = new Scanner(System.in);void login()//登录{boolean sign = true;boolean flag = true;Achieve a = new Achieve();System.out.println("请输入帐号:");int n = in.nextInt();System.out.println("请输入密码:");String m = in.next();Iterator<Bank_Manager> iter = Bank_er_list.iterator();while(iter.hasNext()){Bank_Manager b = iter.next();while(b.zhanghao == n && b.passwd.equals(m)){sign = false;if(flag){user_interface(b);}System.out.print("请输入(1~6或其他):");int s = in.nextInt();switch(s){case1 :deposit(b);System.out.println("\n请按“任意字符+回车”回到登录界面");in.next();user_interface(b);flag=false;continue;case2 :draw_money(b);System.out.println("\n请按“任意字符+回车”回到登录界面");in.next();user_interface(b);flag=false;continue;case3 :serch_money(b);System.out.println("\n请按“任意字符+回车”回到登录界面");in.next();user_interface(b);flag=false;continue;case4 :transform_money(b);System.out.println("\n请按“任意字符+回车”回到登录界面");in.next();user_interface(b);flag=false;continue;case5 :alter_passwd(b);System.out.println("\n请按“任意字符+回车”回到登录界面");in.next();user_interface(b);flag=false;continue;case6 :alter_login();System.out.println("\n请按“任意字符+回车”回到登录界面");in.next();user_interface(b);flag=false;continue;default : a.login_interface();}}}if(sign){System.out.println("账号或密码错误,退出主界面。

JavaATM课程设计报告书

JavaATM课程设计报告书

呼和浩特民族学院课程设计报告设计名称:《面向对象程序设计》课程设计选题名称: ATM自动取款机模拟系统姓名:萌学号:专业班级:计算机科学与技术专业系(院):计算机系设计时间:2013.11.19~2013.11.28设计地点: 5、6机房4.课程设计成果调试程序,进入主界面:选择查询选择查询后,进入如下界面,可以先输入密码,检测密码输入是否正确。

取款查看余额更改密码:存款转账:继续操作检验和退出程序:5.课程设计心得在本次的课程设计中,ATM自动取款机模拟系统在初选时觉得很难,因为在我觉得这个程序太大了,而且有好的方法我不是很熟练,我也在网上查阅的很多资料,最后定下这个程序。

根据课程设计的要求,在ATM自动取款机模拟系统要实现查询,存款,取款,转账,密码修改等功能,还有程序选择功能,错误提示,退出系统等功能。

在调试过程中,出现了很多问题,对于我来说,方法的调用时最难的了,经过网上查询,老师帮助,同学商议,最后解决了我的难题,但是我写的还是很慢的了,经过斟酌才写下这篇程序报告。

不过通过解决这些问题,我也对java中许多不理解的地方也有了不同的看法,知道了很多的知识,我觉得这些辛苦没有白费。

最后,能让读者或者使用的人更清楚明白的直观的认识这个程序我加了很多,汉语的注释和操作中的提示,通过这次程序设计报告的完成我希望以后我的程序越来越好,我知道的知识越来越多。

参考文献:《Java语言与面向对象程序设计》-----------王行言编著《Java2实用教程》------------------------耿祥义,跃平编著《Java实用程序设计100例》---------------袁海燕,王文涛编著。

atm自动取款机模拟界面设计

atm自动取款机模拟界面设计

第五章单元设计ATM自动取款机模拟界面设计一、设计内容通过ATM柜员级模拟项目的开发,要求学生:1、进一步熟练GUI界面设计2、掌握使用GUI中的事件处理与高级GUI设计3、进一步熟悉java的设计流程,对所学习内容得到更好应用二、设计要求(1)功能要:ATM柜员级模拟项目要要求实现以下功能登陆查询剩余金额:存入现金;取款;转帐修改帐户密码查询明细(2)系统界面要求:要求系统具有友好的用户界面,界面简洁、操作方便;(3)人数要求:1人次三、总体设计注:“查询余额”和“修改密码”无打印界面四、运行效果1.在为使用时显示待机界面2.按任意键进入登录界面,输入正确的帐号和密码。

3.密码输入错误,弹出密码错误界面。

提示从新输入密码。

4.登录成功后进入选择界面,选择需要进行的业务。

根据不同选择进入以下界面.5.如果选择取款,进入取款界面。

输入取款面额。

提示最高面额为5000元。

选择取消进入取卡界面,选择返回进入选择界面。

6.交易成功后,提示取出现金。

点继续进入选择界面。

点取消进入打印界面。

7.如果选择余额查询界面,显示余额。

并提示可用金额。

8.如果选择转帐,进入转帐界面。

提示输入转帐帐号和确认帐号。

9.交易成功,选择继续进入选择界面,选择取消进入打印界面。

10.如果选择修改密码,进入密码修改界面。

并提示输入新密码和确认新密码。

11.交易成功,选择继续进入选择界面,选择取消进入取卡界面。

12.打印界面,打印取款和转帐交易的信息,选择否跳过。

13.取卡界面,退出交易是弹出。

Java语言编写实现银行账号开户-存款-取款和转账等功能

Java语言编写实现银行账号开户-存款-取款和转账等功能

Java语言编写实现银行账号开户、存款、取款、查询和转账源代码详解需求分析1.ATM柜员机系统保存所有开户用户的信息(银行卡号、密码、真实姓名、家庭地址、联系电话、卡内金额),限制最大开户数1002.用户通过开户能实现自助开户,银行卡号随机数生成5位整数,卡内金额默认为0,其他信息由客户在控制台上输入,要求银行卡号不能重复3.用户可以选择存款选项办理存款业务要求存款客户必须是已经在我行合法开户的用户,卡号、密码必须进过验证才能登录系统进行存款业务的办理,业务办理完毕后显示该客户目前的卡内余额信息并提示办理成功4.用户可以选择取款选择办理取款要求取款客户必须是已经在我行合法开户的用户,卡号、密码必须进过验证才能登录系统进行取款业务的办理,输入存款金额后,显示目前卡内余额信息并提示办理成功5.用户可以选择查询余额选择办理查询业务要求取款客户必须是已经在我行合法开户的用户,卡号、密码必须进过验证才能登录系统进行查询业务的办理,登录信息验证成功后显示该用户的详细信息6.用户可以选择转账选项办理查询业务[本系统只支持本地行内转账] 要求取款客户必须是已经在我行合法开户的用户,卡号、密码必须进过验证才能登录系统进行转账业务的办理,用户输入的转账帐号必须是已经在我行合法开户的用户,合法的转账帐号显示该用户姓名,输入转账金额,完成转账功能显示自己的卡内余额并提示业务办理成功7.用户选择退出,结束本次业务办理8.该项目中的相关逻辑判断请自行斟酌1.将用户的卡号、密码、姓名、手机号码、家庭住址和卡上余额属性封装成对象,代码如下package com.zsrt.test;import java.util.*;public class BankAccount{private int cardNum;private String passWord;private String name;private String address;private long telephone;private float money;public int getCardNum() {return cardNum;}public void setCardNum(int cardNum) {this.cardNum = cardNum;}public String getPassWord() {return passWord;}public void setPassWord(String passWord) { this.passWord = passWord;}public String getName() {return name;}public void setName(String name) { = name;}public String getAddress() {return address;}public void setAddress(String address) { this.address = address;}public long getTelephone() {return telephone;}public void setTelephone(long telephone) {this.telephone = telephone;}public float getMoney() {return money;}public void setMoney(float money) {this.money = money;}}2.建立测试类Junit Test文件package com.zsrt.test;import static org.junit.Assert.*;import java.util.*;import java.text.DecimalFormat;import org.junit.Before;import org.junit.Test;public class ATMTest {Scanner sn=new Scanner(System.in);List<BankAccount> clientList=newArrayList<BankAccount>(); //采用动态数组来存放用户的信息DecimalFormat df=new DecimalFormat("0.00");//格式化输出余额@Beforepublic void setUp() throws Exception {}@Testpublic void test() {System.out.println("\t\t\t**********************⊙***********************");System.out.println("\t\t\t**");System.out.println("\t\t\t**");System.out.println("\t\t\t* ⊙欢迎进入中国银行*");System.out.println("\t\t\t**");System.out.println("\t\t\t**");System.out.println("\t\t\t*********************⊙************************");while(true){System.out.println("\t\t\t请选择您要办理的手续:");System.out.println("\t\t\t\t1.开户");System.out.println("\t\t\t\t2.存款");System.out.println("\t\t\t\t3.取款");System.out.println("\t\t\t\t4.查询余额");System.out.println("\t\t\t\t5.转账");System.out.println("\t\t\t\t6.退出");System.out.println("\t\t\t请输入您要办理的项目");int num=sn.nextInt();if(num==1){openAccount();}else if(num==2){saveMoney();}else if(num==3){takeMoney();}else if(num==4){checkMoney();}else if(num==5){transferMoney();}else if(num==6){System.out.println("退出");break;}else{System.out.println("请输入正确的选项!!!");}}}public class BankAccount{private int cardNum;private String passWord;private String name;private String address;private long telephone;private double money;public int getCardNum() {return cardNum;}public void setCardNum(int cardNum) { this.cardNum = cardNum;}public String getPassWord() {return passWord;}public void setPassWord(String passWord) { this.passWord = passWord;}public String getName() {return name;}public void setName(String name) { = name;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}public long getTelephone() {return telephone;}public void setTelephone(long telephone) {this.telephone = telephone;}public double getMoney() {return money;}public void setMoney(double money) {this.money = money;}}public void openAccount(){//开户函数BankAccount account=new BankAccount();int cardNum=(int)(Math.random()*90000+10000);account.setCardNum(cardNum);System.out.println("系统已为您随机分配一个卡号"+cardNum);System.out.println("请为您的账户设置密码:");String passWord=sn.next();account.setPassWord(passWord);System.out.println("请输入您的姓名:");String name=sn.next();account.setName(name);System.out.println("请输入您的地址");String address=sn.next();account.setAddress(address);System.out.println("请输入您的联系电话:");long telephone=sn.nextLong();account.setTelephone(telephone);if(clientList.isEmpty()){clientList.add(account);System.out.println("开户成功!"+"您的卡号是:"+account.getCardNum());}else{BankAccountaccount_1=checkCardNum(account.getCardNum());//卡号应是唯一的,若已在clientList中则表示卡号重复,需要重新开户,否则可以将account对象添加到clientList中if(account_1==null){account.setMoney(0);clientList.add(account);System.out.println("开户成功!您的卡号是:"+account.getCardNum());}}//end}public void saveMoney(){ //存款函数BankAccount account=login();//每次操作前需要先登录if(account==null){System.out.println("账号或密码有误,登录失败!");}else{System.out.println("登录成功!请输入您的存款金额:");double money=sn.nextFloat();account.setMoney(money+account.getMoney());String str=df.format(account.getMoney());"+str);}}public void takeMoney(){ //取款函数BankAccount account=login();if(account==null){System.out.println("您输入的账号或密码有误,登录失败!");}else{System.out.println("登录成功!请输入您的取款金额:");double money=sn.nextFloat();if(account.getMoney()<money){System.out.println("您的卡上余额不足"+money+",取款失败!");}else{account.setMoney(account.getMoney()-money);String str=df.format(account.getMoney());额为:"+str);}}}public void checkMoney(){// 查询余额函数BankAccount account=login();if(account==null){System.out.println("您输入的账号不存在或密码有误,登录失败!");}else{String str=df.format(account.getMoney());System.out.println("查询余额成功!您现在的卡上余额为:"+str);}}public void transferMoney(){ //转账函数BankAccount account=login();if(account==null){System.out.println("您输入的账号不存在或密码有误,登录失败!");}else{System.out.println("请输入你要转账的卡号:");int cardNum=sn.nextInt();BankAccount account_1=checkCardNum(cardNum);if(account_1!=null){System.out.println("您要转账的客户的姓名为:"+account_1.getName());System.out.println("请输入您的转账金额:");double money=sn.nextFloat();if(money>account.getMoney()){System.out.println("您的卡上余额不足"+money+",转账失败!");}else{account.setMoney(account.getMoney()-money);account_1.setMoney(money+account_1.getMoney());String str=df.format(account.getMoney());System.out.println("转账成功!您现在的卡上余额是:"+str);}}else{System.out.println("您输入的卡号在本行不存在,转账失败!");}}}public BankAccount checkCardNum(int cardNum){//查询卡号在clientList中是否存在clientList,若找到则返回其中的account对象,否则返回nullBankAccount account=null;for(BankAccount account_1: clientList){ //遍历clientList 列表if(account_1.getCardNum()==cardNum){account=account_1;break;}else{}}//endreturn account;}public BankAccount login(){ //登录函数如果客户输入的卡号和密码与存入clientList中找到的account对象的卡号和密码相同才表示登录成功BankAccount account_1=null;System.out.println("请输入您的卡号:");int cardNum=sn.nextInt();BankAccount account=checkCardNum(cardNum);System.out.println("请输入您的密码:");String passWord=sn.next();if(account!=null && account.getPassWord().equals(passWord)){account_1=account;}else{account_1=null;}} }。

软件工程课程设计ATM取款服务系统

软件工程课程设计ATM取款服务系统

软件工程课程设计A T M取款服务系统IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】软件工程课程设计--------ATM机取款服务系统学校:苏州大学院系:计算机科学与技术学院专业:计算机科学与技术组员:戴飞1.引言编写目的本次软件设计的目的是建设一个通过软件实现ATM机各项功能的模拟系统,能够更加方便的为客户提供取款,转账和余额查询等功能,并且按模块划分功能,最大程度的来提神系统的健壮性和可扩展性。

根据迭代式开发原理,逐步完善,直至完全满足客户的需求。

适用范围ATM的功能要求支持在本公司注册过的所有银行,为其提供服务。

背景ATM自动取款机是由计算机控制的持卡人自我服务型的金融专用设备。

ATM是英文Automatic Teller Machine的缩写。

ATM是最普遍的自助银行设备,可以提供最基本的银行服务之一,即出钞交易,有些全功能的产品还可以提供信封存款业务。

在ATM自动取款机上也可以进行账户查询、修改密码和转账的业务。

作为自助式金融服务终端,除了提供金融业务功能之外,ATM自动取款机还具有维护、测试、事件报告、监控和管理等多种功能。

ATM自动取款机系统,是一个有终端机,ATM系统,数据库组成的应用系统。

系统功能有用户在ATM上提取现金、查询账户余额、修改密码及转账功能。

ATM自动取款机系统向用户提供一个方便、简单、及时、随时随地可以随心所欲存取款的互联的现代计算机化的网络系统。

可以大大减少工作人员,节约人力资源的开销,同时由于手续程序减少也可以减轻业务员的工作负担,有效地提高了整体的工作效率和精确度。

减少了用户办理业务的等待时间;用户可以随时随地可以随心所欲存取款,并且操作简单易懂;用户还可以选择在柜台办理业务或自己在自动提款机和自动取款机办理业务。

文档概述ATM自动柜员机系统是由计算机控制的银行自动出纳系统,主要服务于活期储蓄,实现客户自助服务的电子化设备。

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

while(rs.next()){
if(!rs.getString("帐号").equals(num)){ //判断数据库中是否已有与此相同的卡号
//银行需要公安部门提供相关户口信息,并以此为根据建立一个数据库(ID)
System.out.println(" 温馨提示:");
System.out.println("您所输入的姓名与码必须相符,否则不能开通新帐户");
Scanner sc2=new Scanner(System.in);
int p1=sc2.nextInt();
System.out.println("请输入新密码");
if(sc1.nextInt()==1){
boolean be2=true;
while(be2){
System.out.println("请输入新密码");
be1=false; //结束第一个while循环(也就是上面所要控制的循环)
.println(num); //输出卡号
System.out.println("请输入再次输入新密码");
int p2=f.nextInt();
if(p1==p2){
Scanner sc3=new Scanner(System.in);
int p2=sc3.nextInt();
if(p1==p2){
String sql1="select 姓名 from ID" +
" where 身份证号码=' "+IDnum+" '"; //查询姓名为name的身份证号码
rs=sta.executeQuery(sql1);
double balance=0; //初始帐户余额为0
System.out.println("是否需要存款 1:存款 2:以后再说");
Scanner sc2=new Scanner(System.in);
sta.execute(sql4);
System.out.println("新帐户已建立,各项内容亦修改成功");
}
else{
System.out.println("输入错误!");
}
}
}
int password=(int)Math.round(Math.random()*100000+100000); //随机产生一个六位整数作为密码
if(sc2.nextInt()==1){
System.out.println("请输入所要存款的数额");
//此项功能需由银行同意并给出证明,否则视为违法操作,会被处罚!!
System.out.println(password); //输出随机产生的六位密码
System.out.println("是否需要修改密码 1:修改 2:以后再说");
Scanner sc1=new Scanner(System.in);
boolean be1=true; //控制接下来的while循环
while(be1){
String s1="62270022";
int k=(int)Math.round(Math.random()*100000+100000); //随机产生一个六位整数
String s2=Integer.toString(k); //把整数转换成为十进制字符串
int w=(int)Math.round(Math.random()*10000+10000); //随机产生一个五位整数
while(rs.next()){
if(rs.getString("姓名").equals(name)){
String sql3="select 帐号 from atm";
rs=sta.executeQuery(sql3);
System.out.println("密码输入有误,请重新输入");
}
}
System.out.println("请输入身份证号");
String IDnum=f.next();
System.out.println("请输入姓名");
String name=f.next();
password=p1; //重新赋值给p(新密码)
be2=false;
}
else
String s3=Integer.toString(w); //把整数转换成为十进制字符串
String num=s1+s2+s3; //产生一个19位卡号(字符串)
}
public void insert(Scanner f )throws Exception{ //形成一个新的帐户
//由于此ATM机的特殊性,为了实现存款业务,必须要求用户输入最准确的信息便于日后追查未经银行同意而非法存款的用户,并作出相应的处罚
Connection con=null;
Statement sta=null;
ResultSet rs=null;
card ca;
private String num;
private String num()throws Exception {
Scanner sc3=new Scanner(System.in);
balance=sc3.nextDouble();
}
String sql4="insert into atm('ss','IDnum','password','name','balance')";
System.out.println("请重新输入!");
IDnum=f.next();
}
}
}
public void update(Scanner f)throws Exception{ //修改信息
String sql="select 帐号 from atm ";
sta.execute(sql);
return num;
}
public operate()throws Exception{
ca=new card();
Class.forName(str1);
con=DriverManager.getConnection(str2);
sta=con.createStatement();
boolean be1=true;
while(be1){
System.out.println("请输入新密码");
int p1=f.nextInt();
import java.sql.*;
import java.io.*;
import java.util.*;
public class operate {
String str1="sun.jdbc.odbc.JdbcOdbcDriver";
String str2="jdbcdbc:my";
相关文档
最新文档