源代码:

 import java.util.Scanner;

 class Account{
String identify;
String name;
String date;
String key;
double balance;
Account(String id,String na,String da,String ke,double ba)
{
identify=id;
name=na;
date=da;
key=ke;
balance=ba;
}
Account()
{
identify="ljj19960419";
name="ljj";
date="2016/11/16";
key="123456";
balance=1024.0;
} public void back() //退卡
{
} public void get() //取款
{
System.out.println("请输入取款金额:\n 100 请输入1\n 200 请输入2\n 500 请输入3\n 1000 请输入4\n 其他金额 请输入5\n 退卡 请输入6\n 返回 请输入7\n");
Scanner scan = new Scanner(System.in);
String n = scan.nextLine();
switch(n){
case "1":
if(balance<100)
{
System.out.println("余额不足!");break;
}
else
{
balance-=100;System.out.println("取款成功!余额为:"+balance);break;
}
case "2":
if(balance<200)
{
System.out.println("余额不足!");break;
}
else
{
balance-=200;System.out.println("取款成功!余额为:"+balance);break;
}
case "3":
if(balance<500)
{
System.out.println("余额不足!");break;
}
else
{
balance-=500;System.out.println("取款成功!余额为:"+balance);break;
}
case "4":
if(balance<1000)
{
System.out.println("余额不足!");break;
}
else
{
balance-=1000;System.out.println("取款成功!余额为:"+balance);break;
}
case "5":
System.out.print("请输入取款金额:");
Scanner scan1 = new Scanner(System.in);
int a = scan1.nextInt();
if(balance<a)
{
System.out.println("余额不足!");break;
}
else
{
balance-=a;System.out.println("取款成功!余额为:"+balance);break;
}
case "6":
back();break;
case "7":
break;
}
System.out.println("返回主界面 请输入1\n退卡 请输入2\n");
Scanner scan7 = new Scanner(System.in);
int f = scan7.nextInt();
if(f==1)
{
System.out.println("请选择操作:");
System.out.println("存款 请按1");
System.out.println("取款 请按2");
System.out.println("转账汇款 请按3");
System.out.println("查询余额 请按4");
System.out.println("退卡 请按5");
Account data =new Account();
Scanner scan8 = new Scanner(System.in);
int g = scan8.nextInt();
switch(g){
case 1:
data.save();break;
case 2:
data.get();break;
case 3:
data.trans();break;
case 4:
data.inquiry();break;
case 5:
data.back();break;
}
}
else
{
back();
}
} public void save() //存款
{
System.out.println("请输入存款金额:");
Scanner scan2 = new Scanner(System.in);
double b =scan2.nextDouble();
balance+=b;
System.out.println("存款成功!余额为:"+balance);
System.out.println("返回主界面 请输入1\n退卡 请输入2\n");
Scanner scan7 = new Scanner(System.in);
int f = scan7.nextInt();
if(f==1)
{
System.out.println("请选择操作:");
System.out.println("存款 请按1");
System.out.println("取款 请按2");
System.out.println("转账汇款 请按3");
System.out.println("查询余额 请按4");
System.out.println("退卡 请按5");
Account data =new Account();
Scanner scan8 = new Scanner(System.in);
int g = scan8.nextInt();
switch(g){
case 1:
data.save();break;
case 2:
data.get();break;
case 3:
data.trans();break;
case 4:
data.inquiry();break;
case 5:
data.back();break;
}
}
else
{
back();
}
} public void trans() //转账
{
System.out.println("请输入转账行号:");
Scanner scan3 = new Scanner(System.in);
String c = scan3.nextLine();
System.out.println("请输入转账金额:");
Scanner scan4 = new Scanner(System.in);
double d =scan4.nextDouble();
if(balance<d)
{
System.out.println("余额不足,转账失败!");
}
else
{
double e = balance-d;
System.out.println("您已成功向行号为"+c+"的账户转账"+d+"元。当前余额为"+e+"元。");
}
System.out.println("返回主界面 请输入1\n退卡 请输入2\n");
Scanner scan7 = new Scanner(System.in);
int f = scan7.nextInt();
if(f==1)
{
System.out.println("请选择操作:");
System.out.println("存款 请按1");
System.out.println("取款 请按2");
System.out.println("转账汇款 请按3");
System.out.println("查询余额 请按4");
System.out.println("退卡 请按5");
Account data =new Account();
Scanner scan8 = new Scanner(System.in);
int g = scan8.nextInt();
switch(g){
case 1:
data.save();break;
case 2:
data.get();break;
case 3:
data.trans();break;
case 4:
data.inquiry();break;
case 5:
data.back();break;
}
}
else
{
back();
}
} public void inquiry() //查询余额
{
System.out.println("您当前余额为"+balance+"元。");
System.out.println("返回主界面 请输入1\n退卡 请输入2\n");
Scanner scan7 = new Scanner(System.in);
int f = scan7.nextInt();
if(f==1)
{
System.out.println("请选择操作:");
System.out.println("存款 请按1");
System.out.println("取款 请按2");
System.out.println("转账汇款 请按3");
System.out.println("查询余额 请按4");
System.out.println("退卡 请按5");
Account data =new Account();
Scanner scan8 = new Scanner(System.in);
int g = scan8.nextInt();
switch(g){
case 1:
data.save();break;
case 2:
data.get();break;
case 3:
data.trans();break;
case 4:
data.inquiry();break;
case 5:
data.back();break;
}
}
else
{
back();
}
} } public class ATM { public static void main(String[] args) {
System.out.println("**********************");
System.out.println("欢迎使用银行ATM服务柜机!");
System.out.println("**********************");
System.out.print("请输入密码:");
Scanner scan5 = new Scanner(System.in);
String f = scan5.nextLine();
if(f.equals("123456"))
{
System.out.println("请选择操作:");
System.out.println("存款 请按1");
System.out.println("取款 请按2");
System.out.println("转账汇款 请按3");
System.out.println("查询余额 请按4");
System.out.println("退卡 请按5");
Account data =new Account();
Scanner scan6 = new Scanner(System.in);
int g = scan6.nextInt();
switch(g){
case 1:
data.save();break;
case 2:
data.get();break;
case 3:
data.trans();break;
case 4:
data.inquiry();break;
case 5:
data.back();break;
}
}
else
{
System.out.println("该卡已被锁定,无法操作。嘿嘿嘿~");
} } }

结果截图:

1、密码错误

2、密码正确

1)存款并返回主界面

2)取款不成功

3)取款成功

4)转账汇款不成功

5)转账汇款成功

6)查询余额

7)退卡

以上就是这个ATM模拟器的大致功能,有不足之处,望在评论区不吝赐教。

这个程序经过适当的修润也可以通过小窗口的形式弹出来结果。这样运行的结果可以显得更加地方便与直观。但是,这样不便于理解源代码。大家不妨尝试一下。

ATM模拟器(附代码及运行结果)的更多相关文章

  1. c#万能视频播放器(附代码)

    原文:c#万能视频播放器(附代码) c#万能视频播放器 本人之前很多的文章中均提到了使用libvlc为播放器内核制作的播放器,也许有些朋友对此感兴趣,于是我用c#写了一个调用libvlc api实现的 ...

  2. 数据挖掘领域十大经典算法之—C4.5算法(超详细附代码)

    https://blog.csdn.net/fuqiuai/article/details/79456971 相关文章: 数据挖掘领域十大经典算法之—K-Means算法(超详细附代码)        ...

  3. SpringCloud-创建服务消费者-Feign方式(附代码下载)

    场景 SpringCloud-服务注册与实现-Eureka创建服务注册中心(附源码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  4. JPA中实现双向多对多的关联关系(附代码下载)

    场景 JPA入门简介与搭建HelloWorld(附代码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103473937 ...

  5. Promise入门到精通(初级篇)-附代码详细讲解

    Promise入门到精通(初级篇)-附代码详细讲解 ​     Promise,中文翻译为承诺,约定,契约,从字面意思来看,这应该是类似某种协议,规定了什么事件发生的条件和触发方法. ​     Pr ...

  6. 分布式消息总线,基于.NET Socket Tcp的发布-订阅框架之离线支持,附代码下载

    一.分布式消息总线以及基于Socket的实现 在前面的分享一个分布式消息总线,基于.NET Socket Tcp的发布-订阅框架,附代码下载一文之中给大家分享和介绍了一个极其简单也非常容易上的基于.N ...

  7. C#_技巧:计算代码块运行的时间

    System.Diagnostics下类Stopwatch,给程序代码块运行计时, 利用start()和stop()方法来标记代码快. 该命名空间下还有一些其他类,可以对程序进行诊断(diagnosi ...

  8. 分享5种风格的 jQuery 分页效果【附代码】

    jPaginate 是一款非常精致的分页插件,提供了五种不同风格的分页效果,支持鼠标悬停翻页,快速分页功能.这款插件还提供了丰富的配置选项,你可以根据需要进行设置. 效果演示      源码下载 各个 ...

  9. Python进阶:函数式编程实例(附代码)

    Python进阶:函数式编程实例(附代码) 上篇文章"几个小例子告诉你, 一行Python代码能干哪些事 -- 知乎专栏"中用到了一些列表解析.生成器.map.filter.lam ...

随机推荐

  1. Fancybox丰富的弹出层效果

    Fancybox是一款优秀的jquery插件,它能够展示丰富的弹出层效果.前面我们有文章介绍了facybox弹出层效果,相比facybox,fancybox显得功能更为齐全,它除了可以加载DIV,图片 ...

  2. 词法分析程序(C)

    #include <stdio.h> #include <string.h> ],word[],ch; int type,p,i,n,sum; ]={"begin&q ...

  3. XVI Open Cup named after E.V. Pankratiev. GP of Siberia

    A. Passage 枚举两个点,看看删掉之后剩下的图是否是二分图. #include <bits/stdc++.h> using namespace std ; const int MA ...

  4. NOIP2016普及总结

    ---恢复内容开始--- 当时我说如果不出意外有385,结果就这么跪在了第二题,惨啊 本来以为发挥算正常,结果这发挥太不正常了 [T1] 水题啊[趴 注意下细节就好考你会不会写代码. [T2] 这题大 ...

  5. PHP 随手记

    这篇文章用来记录自己学习PHP过程中遇到的问题以及解决方法,随时遇到新的问题都会更新,方便以后查阅. 环境:ubuntu 14.10,php5,apache2 1.如何打开PHP报错信息? 解决方法: ...

  6. java基础1_标识符,数据类型

    JDK的卸载与安装 : 1  卸载 a 从程序中卸载   控制面板 - 程序和功能 - 卸载JDK; b 删除  C:\Windows\System32 下面的  java   javac  java ...

  7. Xcode8中处理打印日志的配置

    Xcode8中处理打印日志的配置

  8. java排序学习笔记

    前面写了js的排序实现,总得玩玩java的哈. 同样,冒泡.选择.快速(这三个之前实现过也写过文章).堆排序,然后做比较. 主要遇到的难点: - -||想轻松点写个封装计时的逻辑,不想每调用一个排序就 ...

  9. [收藏]C++简单五子棋

    #include<iostream> #include<iomanip> using namespace std; ; //棋盘行数 ; //棋盘列数 char p[X][Y] ...

  10. Shell下突破安全狗远程桌面守护

    首先在Shell下把安全狗的安装配置给下来 默认安装路径: C:\Program Files\SafedogServer\SafeDogGuardCenter  找到 ProGuardData.ini ...