Java编写的模拟ATM取款机程序

ATM银行取款机模拟程序(可连接数据库) ATM银行取款机模拟程序(可连接数据库) 阅读次数418 出处 CN-JAVA原创:hsy1515520 --------------------------------------------------------------------------------import javax.swing.*;import java.awt.*; 阅读详情

 

/**
 * @version 1.0
 * @author Devil_Angel
 * 该程序的功能为实现模拟银行ATM自动取款机提款,查询等功能.
 * 
 */

import java.io.*;

/*该类为实现客户信息及部分功能*/
class Account {
 private String code    =null;   //信用卡号
 private String name    =null;   //客户姓名
 private String password=null;   //客户密码
 private double money   =0.0;   //卡里金额
 
 /********************/
 public Account(String code,String name,String password,double money)
 {
  this.code=code;
  this.name=name;
  this.password=password;
  this.money=money;
 }
 
 protected String get_Code() {
  return code;
 }
 
 protected String get_Name() {
  return name;
 }
 
 protected String get_Password() {
  return password;
 }
 
 public double get_Money() {
  return money;
 }
 
 /*得到剩余的钱的数目*/
 protected void set_Balance(double mon) {
  money -= mon;
 }
}

/**********实现具体取款机功能*********/
class ATM {
 Account act;
// private String name;
// private String pwd;
 
 public ATM() {
  act=new Account("000000","Devil","123456",50000);
 }
 
 /***********欢迎界面***********/
 protected void Welcome()
 {
  String str="---------------------------------";
  System.out.print(str+"/n"+
       "欢迎使用Angel模拟自动取款机程序./n"+str+"/n");
  System.out.print(" 1.>取款."+"/n"+
       " 2.>查询信息."+"/n"+
       " 3.>密码设置."+"/n"+
       " 4.>退出系统."+"/n");
 }
 
 /**********登陆系统**********/
 protected void Load_Sys() throws Exception
 {
  String card,pwd;
  int counter=0;
  
  BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  do {
   System.out.println("请输入您的信用卡号:");
   card=br.readLine();
   System.out.println("请输入您的密码:");
   pwd=br.readLine();
   
   if(!isRight(card,pwd))
   {
    System.out.println("您的卡号或密码输入有误.");
    counter++;
   }
   else
    SysOpter();
   
  }while(counter<3);
  Lock_Sys();
 }
 
 /**********系统操作**********/
 protected void SysOpter() throws Exception
 {
  int num;
  BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  System.out.println("请选择您要操作的项目(1-4):");
  num=br.read();  //num为ASICC码转换的整数
  switch(num) {
  case 49: BetBalance(); break;
  case 50: Inqu_Info(); break;
  case 51: Set_Password(); break;
  case 52: Exit_Sys();  break;
  }
  System.exit(1);
 }
 
 /**********信息查询**********/
 protected void Inqu_Info() {
  System.out.print("---------------------/n"+
       act.get_Code()+"/n"+
       act.get_Name()+"/n"+
       act.get_Money()+"/n"+
       "-----------------------");
 }
 
 /**********取款**********/
 public void BetBalance() throws Exception
 {
  String str=null,str1;
  BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  do {
   System.out.println("请输入您要取的数目:");
   str=br.readLine();
   str1=String.valueOf(act.get_Money());
   if(str.compareTo(str1)>0) {
    System.out.println("超过已有的钱数,请重新输入您要取的数目:");
   }
   else {
    /*操作成功*/
//    act.set_Balance(str);
    System.out.println("取款成功,请收好您的钱.");
    Welcome();
    SysOpter();
   }
  }while(true);
  
 }
 
 /**********判断卡内是否有钱**********/
 protected boolean isBalance() {
  if(act.get_Money()<0) { 
//   System.out.println("对不起,您的钱数不够或卡已透支.");
   return false;
  }
  return true;
 }
 
 /********卡号密码是否正确******/
 protected boolean isRight(String card,String pwd)
 {
  if(act.get_Code().equals(card) && act.get_Password().equals(pwd))
   return true;
  else
   return false;
 }
 
 /**********密码修改**********/
 protected void Set_Password() throws Exception
 {
  String pwd=null;
  int counter=0;
  BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  do {
   System.out.println("请输入旧密码:");
   pwd=br.readLine();
   if(act.get_Password().equals(pwd))
   {
    do {
     System.out.println("请输入新密码:");
     String pwd1=br.readLine();
     System.out.println("请再次输入新密码:");
     String pwd2=br.readLine();
     if(!pwd1.equals(pwd2))
     {
      System.out.println("两次输入不一致,请再次输入.");
     }
     else
     {
      System.out.println("密码修改成功,请使用新密码.");
      Welcome();
      SysOpter();
     }
    }while(true);
   }
  }while(counter>3);
  
 }
 
 /**********锁定机器**********/
 protected void Lock_Sys() {
  System.out.println("对不起,您的操作有误,卡已被没收.");
  System.exit(1);
 }
 
 /**********结束系统**********/
 protected void Exit_Sys() {
  System.out.println("感谢您使用本系统,欢迎下次在来,再见!");
  System.exit(1);
 }
 
}

public class Text
{
 public static void main(String[] args) throws Exception
 {
  ATM atm=new ATM();
  atm.Welcome();
  atm.Load_Sys();
//  atm.Exit_Sys();
 }
}

 

PyCharm启动报错急救指南:3步定位.vmoptions文件位置(Win/Mac路径详解) 本文针对PyCharm启动失败问题,提供了一份详细的急救指南。核心在于精准定位并修复关键的.vmoptions配置文件。文章通过三步法详解了在Windows和macOS系统上查找该文件的具体路径,并分析了因新旧版本冲突、破解补丁残留或参数设置错误导致启动失败的常见场景及解决办法,帮助开发者快速恢复IDE的正常工作。 阅读详情

相关推荐

MySQL安装配置教程(超级详细)

一、 下载MySQL Mysql官网下载地址:MySQL :: Download MySQL Installer (Archived Versions) 1. 选择要安装的版本,本篇文章选择的是5.7.31版本,点击Download下载 正在上传…重新上传取消 二、 安装MySQL 1. 选择设置类型双击运行mysql-installer-community-5.7.31.0.msi 这里选择是自定义安装,所以直接选择“Custom”,点击“Next” “Developer Default”是

m0_67322837的博客 5万+

Java模拟实现ATM系统

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、项目需求是什么?二、技术选型技术点分析:1. 面型对象分析:2. 使用集合容器:3. 程序流程控制:4. 使用常见API:三、实现步骤1.账户类、首页设计2.读入数据总结 前言 自动取款机又称ATM(Automated Teller Machine的缩写),意思是自动柜员机,因大部分用于取款,又称自动取款机。它是一种高度精密的机电一体化装置,利用磁性代码卡或智能卡实现金融交易的自助服务,代替银行柜面人员的工作。可提取现金.

qq_47387991的博客 1万+

Vivado里LDPC IP核怎么配?手把手教你从6144bit数据到完整参数设置

本文详细介绍了在Vivado中配置LDPC IP核的完整流程,从6144bit数据的参数计算到实际IP核设置。通过分析基本图选择、扩展因子计算和移位参数确定等关键步骤,帮助工程师高效完成LDPC编译码的硬件实现,并提供了时序控制、仿真验证和性能优化的实用技巧。

weixin_30352645的博客 518

java实验报告之模拟银行存取款业务

课程名称面向对象程序设计(Java)指导教师***学号姓名实验地点***实验时间***项目名称实验类型综合性一、实验目的(1)全面检验面向对象编程思想,巩固Java面向对象、集合和常用API类等方面知识的应用;(2)加强实践动手能力,能够将从书本上学习到的理论知识用到了实践上。二、实验内容模拟网上银行业务,当用户登录时需判断银行卡号和银行卡密码,当输入的卡号和密码都正确时,登录成功,提示当前登录的账户名,并进入下一步选择操作类型。

weixin_62075168的博客 8345

IIR数字滤波器原理,设计方法及嵌入式应用

基于STM32的二阶直接II型巴特沃斯低通滤波器设计方法及应用

weixin_38342580的博客 1万+

从零开始STM32cubeide学习

使用的是正点原子的精英版,单片机是STM32F103ZET6,详细讲解完成跑马灯实验

weixin_44077208的博客 2280

Java实现ATM银行模拟系统(含完整代码)

🏧🏧🏧本文主要介绍了如何通过Java实现ATM银行模拟系统,主要目的是为了能够对之前所学知识做一个简单的总结、更好的巩固一下。本次代码主要使用的是循环语句、方法、集合、类、API等知识。

weixin_50635856的博客 1万+

AUTOSAR R20-11标准下载!

这是公众号的第2篇推文,粉丝数49 Document Search Classic Platform Adaptive Platform Foundation 文档截图 以为会在明天的发布会之后才上线,没想到官网现在就悄悄放出来了。 中国由于网络问题,下载速度比较慢或者会中断。 “阅读原文”提供多种下载方式,可以在线浏览,可以集中下载也可单个文档下载。 如有增减我也会及时在公众号里通知大家,不过我觉得不会变动了。 整理不宜,好东西要分...

Adaptive_AUTOSAR的博客 1890

用java完成一个atm模拟程序_Java编写的模拟ATM取款机程序

Java编写的模拟ATM取款机程序/*** @version 1.0* @author Devil_Angel* 该程序的功能为实现模拟银行ATM自动取款机提款,查询等功能.**/import java.io.*;/*该类为实现客户信息及部分功能*/class Account {private String code =null; //信用卡号private String name =null; ...

weixin_31419153的博客 1049

手把手教你学Simulink——基于Simulink的储能PCS(功率转换系统)离网V/f控制仿真示例

本文带你从零开始,在Simulink中硬核还原了一套完整的100kW 储能PCS离网V/f控制系统。通过引入:✅无PLL的自主角度生成机制(实现真正的“构网”能力)✅电压外环与电流内环的双闭环解耦架构(兼顾稳态精度与动态响应)✅黑启动软充电与有源阻尼等工程化手段(确保系统平滑建压与抗谐振)核心收获透彻理解了储能系统在无大电网支撑下的自主运行机理。掌握了从“跟网(Grid-Following)”向“构网(Grid-Forming)”跨越的控制算法核心差异。

MHD0815的博客 77

玩转Docker | 使用Docker部署MediaCMS内容管理系统

玩转Docker | 使用Docker部署MediaCMS内容管理系统

qq_59334230的博客 2918

atm机编程java_如何用Java编写模拟ATM取款机的程序

/*** @version 1.0* @author Devil_Angel* 该程序的功能为实现模拟银行ATM自动取款机提款,查询等功能.**/import Java.io.*;/*该类为实现客户信息及部分功能*/class Account {private String code =null; //信用卡号private String name =null; //客户姓名private Str...

weixin_36308848的博客 1138

Docker Desktop 从 C 盘迁移到 D 盘的正确方法

本文介绍了三种将Docker数据目录从C盘迁移到D盘的方案。方案1针对WSL2用户,通过导出/导入虚拟磁盘实现迁移;方案2采用软链接方式,适合所有Docker模式;方案3则建议重装Docker到D盘。其中WSL2迁移方案(方案1)最为稳定可靠,推荐使用。文章详细说明了各方案的操作步骤及注意事项,并提供了迁移后常见问题的解决方法,帮助用户彻底解决Docker占用C盘空间的问题。

sg_knight的专栏 2178

atm模拟程序java_如何用Java编写模拟ATM取款机的程序

展开全部import java.io.IOException;/*** ATM机类** 查看余32313133353236313431303231363533e59b9ee7ad9431333363393062额** 取款** 存款** 退出系统****/public class ATM {static double yue = 1200.00;public static void main(St...

weixin_35755640的博客 900

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

atm柜员机模拟程序 (java编程)_Java编写的模拟ATM取款机程序

do {System.out.println("请输入新密码:");String pwd1=br.readLine();System.out.println("请再次输入新密码:");String pwd2=br.readLine();if(!pwd1.equals(pwd2)){System.out.println("两次输入不一致,请再次输入.");}else{System.out.print...

weixin_39790510的博客 592

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

JAVA 实现ATM取款机

ATM取款机 import java.util.Scanner; public class ForPractice4 { public static void main(String[] args) { /*****start*****/ int my = 1000; System.out.println("欢迎使用中国人民银行ATM取款机"); Scanner sc = new Scanner(System.in); while(my>0)

weixin_51683372的博客 4307

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

JAVA循环结构educoder练习题ATM取款机

利用循环结构编写ATM取款机小程序 要求: 欢迎使用中国人民银行ATM取款机 输入取款金额: 剩余金额:900,是否继续(‘1’:结束,‘2’:继续): 输入取款金额: 目前余额:900无法满足您的取款需求! 输入取款金额: 剩余金额:800,是否继续(‘1’:结束,‘2’:继续): 取款结束! #一只 前途光明 不想被炖的菜鸡的成长史,欢迎各位大大莅临指导。 public class Test{...

m0_46450509的博客 2515

atm取款机代码 java_ATM取款机java代码

import java.util.Scanner;public class Test8_5 {Scanner input=new Scanner(System.in);int pass=123456;double countmoney=10000;double getmoney=0;int change;double allgetmoney=0;public void ATMinputpass()...

weixin_34824634的博客 1963

头歌java课程实验(Java入门-循环结构进阶)

相信你经过上一关你对于循环的嵌套已经比较熟悉了,本关要实现的效果就是将上一关的矩形切掉了一半,那应该怎么实现呢?可以发现,要打印出三角形,第一次要打印一颗*第二次两颗**依次类推,这有什么规律呢,相信你已经明白了。没错这样子确实能实现我们想要的效果,不过本关的规则是一次只能打印一颗*,怎么实现呢?平台会对你的代码进行运行测试,如果实际输出与预期输出相同,则算通关。平台会对你的代码进行运行测试,如果实际输出与预期输出相同,则算通关。平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。

zzj的博客 1165

作业而已。

package step15; import java.util.Scanner; public class ForPractice4 { public static void main(String[] args) { /*****start*****/ int money = 1000; int choice = 2; Scanner input = new Scanner(System.in); Syste...

tlinx的博客 86

方法后续

在这里弄上一段对上述知识点综合比较强的代码,ATM取款机的模拟程序 package test; import java.util.Scanner; public class ATMMachine { /** * @param args */ public static void main(String[] args) { // TODO Au

Java1029384756的博客 332

ATM取款机小程序——Java

问题描述:编写小程序实现对应功能,效果如图: 红框是需要输入的数据。 思路:取款循环进行无数次用while 总金额为1000,Scanner输入 import java.util.Scanner; public class ATM{ public static void main(String[]args){ Scanner sc = new Scanner(System.in); System.out.println("欢迎使用中国人民银行ATM取款机"); System.out.print

jdh_48的博客 2748

java初级atm取款机,java基础:模拟ATM取款机

package com.atm;import java.util.Scanner;/*** ATM类实现** @author 向往的生活*/public class ATM {public static void main(String[] args) {String[] user = new String[];String[] password = new String[];double[] a...

weixin_34229578的博客 1192
上一篇: 你的工作就是最好的面试
下一篇: 缓冲区溢出原理浅析以及防护
wx红杉树
博客等级 码龄21年 383粉丝 296原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值