Java实现ATM取款机程序

本文实例为大家分享了Java实现ATM取款机程序的具体代码,供大家参考,具体内容如下

对象说明:

功能:该程序的功能为实现模拟银行ATM自动取款机取款,存款,查询余额,转账等功能,只是完成了基本的功能。

思路:第一、登录判断,密码限制三次,使用for循环。第二、成功登录,选择相应的功能,使用switch语句。第四、实现功能的反复循环操作,因为次数不确定,使用while结构。第五、对每个功能模块进行填充完善。

代码展示:

import java.util.Scanner;

public class BankATM {
 public static void main(String[] args) {
 Scanner input = new Scanner(System.in);

 String cardNum = "6228123123"; // 卡号
 int pwd = 888888; // 密码
 boolean flag = true; // 声明布尔类型变量
 double surplus = 1000;// 余额

 // 界面
 System.out.println("---------欢迎使用工商银行ATM机---------");

 /** 用于进行登录的次数限制止 **/
 for (int i = 1; i <= 3; i++) {
  System.out.println("请插入您的银行卡:");
  String inputCard = input.next();
  System.out.println("请输入您的密码:");
  int inputPwd = input.nextInt();

  // 验证账号和密码
  if (inputCard.equals(cardNum) && inputPwd == pwd) {
  flag = true;
  break;
  } else {
  if (i <= 2) {
   System.out.println("对不起,密码输入不正确,你还有" + (3 - i) + "次机会!");
  } else {
   System.out.println("对不起,您的卡已被锁定!");
   break;
  }
  flag = false;
  }
 }

 /** 登录成功后选择功能 */
 if (flag) {
  char answer = 'y';
  while (answer == 'y') {
  System.out.println("请选择功能:1.取款 2.存款 3.查询余额 4.转账 5.退出");
  int choice = input.nextInt();
  switch (choice) {
  case 1:
   // 执行取款操作
   System.out.println("--->取款");
   System.out.println("请输入取款金额:");
   double getMoney = input.nextDouble();
   if (getMoney > 0) {
   if (getMoney <= surplus) {
    if (getMoney % 100 == 0) {
    System.out.println("请取走您的钞票!余额为¥" + (surplus - getMoney));
    } else {
    System.out.println("对不起,不能取零钱!");
    }
   } else {
    System.out.println("对不起,余额不足!");
   }
   } else {
   System.out.println("请输入正确的金额:");
   }

   break;
  case 2:
   // 执行存款操作
   System.out.println("--->存款");
   System.out.println("请把钞票整理后放入存钞口:");
   double saveMoney = input.nextDouble();
   if (saveMoney > 0 && saveMoney <= 10000) {
   if (saveMoney % 100 == 0) {
    surplus += saveMoney;
    System.out.println("存款成功!余额为¥" + surplus);
   } else {

    double backMoney = saveMoney % 100;
    surplus = saveMoney + surplus - backMoney;
    System.out.println("存款成功!余额为¥" + surplus);
    System.out.println("请取走零钱¥" + backMoney);
   }
   } else if (saveMoney > 10000) {
   System.out.println("一次最多存入一万元,请分批存入!");
   } else {
   System.out.println("存入的钞票是假钞,无效没收!");
   }
   break;
  case 3:
   // 执行查询余额
   System.out.println("--->查询余额");
   System.out.println("您卡上的余额是:" + surplus);
   break;
  case 4:
   // 执行转账操作
   System.out.println("--->转账");
   System.out.println("请输入转账金额:");
   double goMoney = input.nextDouble(); // 转账金额
   if (goMoney > 0) {
   if (goMoney <= surplus) {
    System.out.println("转账成功!余额为¥" + (surplus - goMoney));
   } else {
    System.out.println("对不起,请确保卡上有足够的余额!");
   }

   } else {
   System.out.println("转账失败!请输入正确的金额:");
   }
   break;
  case 5:
   // 执行退出操作
   // System.out.println("--->退出");
   System.out.println("谢谢您的使用!");
   return;
  default:
   System.out.println("对不起,您选择的功能有误!");
   break;
  }// switch end
  System.out.println("继续吗?y/n");
  answer = input.next().charAt(0);

  } // while end
  System.out.println("谢谢您的使用!");

 }

 }
}

效果截图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • java实现ATM取款项目

    项目要求: 1.用户需要从控制台输入账号密码,账号或者密码不正确报异常 2.每日取款的金额有限制(100,30000),否则报异常 3.每次取款都要有记录,并在下一次取款时显示出来 思路: 1.先在"银行类"里生成一些用户(跳过了注册环节) 2.可使用List集合存储取款日志 3.可使用Map集合将"用户名"和对应的用户信息建立"键值关系" 4.使用while循环控制流程 项目实现代码: 管理类(含main方法): import java.uti

  • java 使用线程做的一个简单的ATM存取款实例代码

    实现Runnable接口.当一个线程已继承了另一个类时,就只能用实现Runnable接口的方法来创建线程,且便于保持程序风格的一致性. 我们知道,一个具有生命的线程,具有下面五种状态: 创建状态 使用new运算符创建一个线程后,该线程仅仅是一个空对象,系统没有分配资源,称该线程处于创建状态(new thread) 可运行状态 使用start()方法启动一个线程后,系统为该线程分配了除CPU外的所需资源,使该线程处于可运行状态(Runnable) 运行中状态 Java运行系统通过调度选中一个Run

  • Java实现ATM取款机程序

    本文实例为大家分享了Java实现ATM取款机程序的具体代码,供大家参考,具体内容如下 对象说明: 功能:该程序的功能为实现模拟银行ATM自动取款机取款,存款,查询余额,转账等功能,只是完成了基本的功能. 思路:第一.登录判断,密码限制三次,使用for循环.第二.成功登录,选择相应的功能,使用switch语句.第四.实现功能的反复循环操作,因为次数不确定,使用while结构.第五.对每个功能模块进行填充完善. 代码展示: import java.util.Scanner; public class

  • java模拟ATM功能(控制台连接Mysql数据库)

    本文实例为大家分享了java模拟ATM功能的具体代码,供大家参考,具体内容如下 有三个类:Test.java.Customer.java.CustomerDAO.java.ATMSystem.java ATMSystem.java实现模拟ATM的功能 Customer.java创建一个用户对象 CustomerDAO.java实现连接数据库 Test为主程序 ATMSystem.java: package ATM; import java.util.Scanner; public class A

  • Java计算两个程序运行时间的实例

    一.获取系统当前时间 long startTime = System.currentTimeMillis(); //获取开始时间 doSomething(); //测试的代码段 long endTime = System.currentTimeMillis(); //获取结束时间 System.out.println("程序运行时间:" + (endTime - startTime) + "ms"); //输出程序运行时间 二.以纳秒为单位计算 // 第二种是以纳秒

  • java 简单的计算器程序实例代码

    java 简单的计算器程序 实现实例: import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Calculator { public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { CalculatorFrame frame = new Calculato

  • 解决java编译错误( 程序包javax.servlet不存在javax.servlet.*)

    解决java编译错误( 程序包javax.servlet不存在javax.servlet.*) 编译:javac Servlet.java 出现 软件包 javax.servlet 不存在 软件包javax.servlet.http 不存在 等错误 由于servlet和JSP不是Java平台JavaSE(标准版)的一部分,而是Java EE(企业版)的一部分,因此,必须告知编译器servlet的位置. 解决"软件包 javax.servlet不存在"错误的方法: 1. 搜索servle

  • Java自学书籍推荐 程序员到架构师必看的书

    作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从.我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水平的Java程序员们. 一.Java编程入门类 对于没有Java编程经验的程序员要入门,随便读什么入门书籍都一样,这个阶段需要你快速的掌握Java基础语法和基本用法,宗旨就是"囫囵吞枣不求甚解",先对Java熟悉起来再说.用很短的时间快速过一遍Java语法,连懵带猜多写写代码,要"

  • java实现验证码小程序

    手动制作java的验证码,具体内容如下 Web应用验证码的组成: (1)输入框 (2)显示验证码的图片 验证码的制作流程: 生成验证码的容器使用 j2ee的servlet 生成图片需要的类: (1) BufferedImage 图像数据缓冲区 (2)Graphic绘制图片 (3)Color获取颜色 (4)Random生成随机数 (5)ImageIO输入图片 具体实现流程: (1)定义一个Servlet,用于生成验证码 (2)定已BufferedImage对象,主要作用就是制作一个图片缓冲区,作为

  • java与微信小程序实现websocket长连接

    本文实例为大家分享了java与微信小程序实现websocket长连接的具体代码,供大家参考,具体内容如下 背景: 需要在小程序实现地图固定坐标下实时查看消息 java环境 :tomcat7 jdk1.7 1.java websocket 类 package com.qs.util; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.

  • java代码关闭tomcat程序及出现问题解析

    1.通过java代码实现tomcat的关闭 2.tomcatStop.java package test; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class tomcatStop { public static void main(String[] args) { // TODO Auto-generated method stub S

  • java实现背单词程序

    本文实例为大家分享了java实现背单词程序的具体代码,供大家参考,具体内容如下 山东科技大学济南校区程序设计 功能要求:可以读入一个单词表文本文件, 能够将背错的单词重复记忆,直到全记住. package java课程设计; import java.io.*; import java.util.*; public class word14T { public static void main(String[] args) { // TODO Auto-generated method stub

随机推荐