ATM模拟器(附代码及运行结果)
源代码:
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模拟器(附代码及运行结果)的更多相关文章
- c#万能视频播放器(附代码)
原文:c#万能视频播放器(附代码) c#万能视频播放器 本人之前很多的文章中均提到了使用libvlc为播放器内核制作的播放器,也许有些朋友对此感兴趣,于是我用c#写了一个调用libvlc api实现的 ...
- 数据挖掘领域十大经典算法之—C4.5算法(超详细附代码)
https://blog.csdn.net/fuqiuai/article/details/79456971 相关文章: 数据挖掘领域十大经典算法之—K-Means算法(超详细附代码) ...
- SpringCloud-创建服务消费者-Feign方式(附代码下载)
场景 SpringCloud-服务注册与实现-Eureka创建服务注册中心(附源码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
- JPA中实现双向多对多的关联关系(附代码下载)
场景 JPA入门简介与搭建HelloWorld(附代码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103473937 ...
- Promise入门到精通(初级篇)-附代码详细讲解
Promise入门到精通(初级篇)-附代码详细讲解 Promise,中文翻译为承诺,约定,契约,从字面意思来看,这应该是类似某种协议,规定了什么事件发生的条件和触发方法. Pr ...
- 分布式消息总线,基于.NET Socket Tcp的发布-订阅框架之离线支持,附代码下载
一.分布式消息总线以及基于Socket的实现 在前面的分享一个分布式消息总线,基于.NET Socket Tcp的发布-订阅框架,附代码下载一文之中给大家分享和介绍了一个极其简单也非常容易上的基于.N ...
- C#_技巧:计算代码块运行的时间
System.Diagnostics下类Stopwatch,给程序代码块运行计时, 利用start()和stop()方法来标记代码快. 该命名空间下还有一些其他类,可以对程序进行诊断(diagnosi ...
- 分享5种风格的 jQuery 分页效果【附代码】
jPaginate 是一款非常精致的分页插件,提供了五种不同风格的分页效果,支持鼠标悬停翻页,快速分页功能.这款插件还提供了丰富的配置选项,你可以根据需要进行设置. 效果演示 源码下载 各个 ...
- Python进阶:函数式编程实例(附代码)
Python进阶:函数式编程实例(附代码) 上篇文章"几个小例子告诉你, 一行Python代码能干哪些事 -- 知乎专栏"中用到了一些列表解析.生成器.map.filter.lam ...
随机推荐
- 通用js函数集锦<来源于网络> 【二】
通用js函数集锦<来源于网络> [二] 1.数组方法集2.cookie方法集3.url方法集4.正则表达式方法集5.字符串方法集6.加密方法集7.日期方法集8.浏览器检测方法集9.json ...
- HttpClient发送Get和Post请求
package JanGin.httpClient.demo; import java.io.IOException; import java.io.UnsupportedEncodingExcept ...
- android 开发 gradle 自己会容易混淆的东西
使用intellij idea 开发android ,关于 gradle 和 android gradle plugin 容易混淆地方,做下记录: 一. build.gradle 文件有两个地方存在, ...
- HTML常用标签总结
HTML 的常用标签总结 <font size="字体大小1-7" color="red或0xff00ff" face="字体类型(楷体等)&q ...
- 使用docker toolbox 在windows上搭建统一环境
1.先下载docker toolbox 以下是下载地址: http://get.daocloud.io/#install-docker-for-mac-windows 2.下载安装 git windo ...
- centos7 搭建nginx和tomcat集成
一.安装jdk 1.yum install jdk 2.安装好了之后配置环境变量 在/etc/profile 二.创建项目运行目录 1. 我放在home目录 mkdir /web/webapps ...
- 通读SDWebImage②--视图分类
本文目录 UIView+WebCacheOperation UIImageView+WebCache.UIImageView+HighlightedWebCache.MKAnnotationView+ ...
- 运行错误:error while loading shared libraries: xxx.so.0:cannot open shared object file: No such file or
链接时可以通过-L和-l来指定自己的库,因此链接可以通过,但是运行时,系统仍无法找到指定的库,需要简单配置一下. 解决方法: 可以直接在将自己的库所在路径添加到/etc/ld.so.conf文件中.但 ...
- ScrollView嵌套RecyclerView时滑动出现的卡顿
原文连接:http://zhanglu0574.blog.163.com/blog/static/113651073201641853532259/ 现象: 一个界面有多个RecyclerView ...
- Sort简单排序
List<T> 类型排序: public List<ProductionMaterialModel> OrderBybom(List<ProductionMaterial ...