package duzhaonan;
import java.util.Scanner;
import javax.swing.JOptionPane;
class Account{//创建的账户类
String biaoshifu,name,date,password;
double ye;
Account(String a,String b,String c,String d,double e){
biaoshifu=a;
name=b;
date=c;
password=d;
ye=e;
}
Account(){
biaoshifu="1";
name="1";
date="2016/11/11";
password="123456";
ye=10;
}
public void qukuan(){//取款
int i=0;
String s=JOptionPane.showInputDialog("取款!从100、500、1000、1500、2000、5000、0(其他金额)"
+ "、#(退卡)、*(返回操作)中选择输入一项");
switch(s){
case "100":i=100;break;
case "500":i=500;break;
case "1000":i=1000;break;
case "1500":i=1500;break;
case "2000":i=2000;break;
case "5000":i=5000;break;
case "0":{String s1=JOptionPane.showInputDialog("输入需要取款数额");
i=Integer.parseInt(s1);};break;
case "#":tuika();break;
case "*":break;
}
if((ye-i)>=0){
ye=ye-i;
JOptionPane.showMessageDialog(null, "取款成功!您的余额为 " + ye, "Results",
JOptionPane.PLAIN_MESSAGE );}
else
JOptionPane.showMessageDialog(null, "余额不足,取款失败!", "Results",
JOptionPane.PLAIN_MESSAGE );
tuika();//退卡
}
public void cunkuan(){//存款
String s1=JOptionPane.showInputDialog("输入需要存款数额");
int i=Integer.parseInt(s1);
ye=ye+i;
JOptionPane.showMessageDialog(null, "存款成功!您的余额为 " + ye,
"Results",JOptionPane.PLAIN_MESSAGE );
}
public void zhuanzhang(){//转账
String s1=JOptionPane.showInputDialog("输入对方账号");
if(cunzai(s1)==1){
String S=JOptionPane.showInputDialog("输入转账金额");
int i=Integer.parseInt(S);
if((ye-i)>=0){
ye=ye-i;
JOptionPane.showMessageDialog(null, "转账成功!您的余额为 " + ye,
"Results",JOptionPane.PLAIN_MESSAGE );
}
else
JOptionPane.showMessageDialog(null, "余额不足,取款失败!", "Results",
JOptionPane.PLAIN_MESSAGE );

}
else
JOptionPane.showMessageDialog(null, "账户不存在 " , "Results",JOptionPane.PLAIN_MESSAGE );

}
public static void tuika(){//执行退卡操作
}
public int cunzai(String s){//连接数据库判断账号是否存在
int i=1;
return i;
}
}
public class ATM {
public static void main(String[] args){
Account a=new Account();
String s="*****************************************\n";
s=s+" 模拟银行ATM系统 \n";
s=s+"*****************************************\n";
s=s+" 1、存款\n";
s=s+" 2、取款\n";
s=s+" 3、转账\n";
s=s+" 4、输入4结束\n";
do{
String str=JOptionPane.showInputDialog(s);
int i=Integer.parseInt(str);
if(i==1)
a.cunkuan();
else if(i==2)
a.qukuan();
else if(i==3)
a.zhuanzhang();
else
break;
}while(true);
}

}

ATM的更多相关文章

  1. 设计模式(十二):通过ATM取款机来认识“状态模式”(State Pattern)

    说到状态模式,如果你看过之前发布的重构系列的文章中的<代码重构(六):代码重构完整案例>这篇博客的话,那么你应该对“状态模式”并不陌生,因为我们之前使用到了状态模式进行重构.上一篇博客我们 ...

  2. ATM+购物车

    本次代码的实现用到了模块间的互相调用,这对于初学者而言有些难度,不过这也是我们必须要掌握的,在以后的大程序中,多个模块会让我们的代码看起来简洁明了,易排错 (本次代码只是简单的实现的基本的功能,其代码 ...

  3. 简单的ATM取款过程

    一个简单的ATM的取款过程是这样的:首先提示用户输入密码(pwd),最多只能输3次,超过三次则提示用户“密码已输入三次错误,请取卡.“结束交易.如果用户密码正确,在提示用户输入金额(money),AT ...

  4. 大话JS面向对象之开篇万物皆对象------(ATM取款机引发的深思)

    一,总体概要 OO(面向对象)概念的提出是软件开发工程发展的一次革命,多年来我们借助它使得很多大型应用程序得以顺利实现.如果您还没有掌握并使用OO进行程序设计和开发,那么您无疑还停留在软件开发的石器时 ...

  5. ATM模拟器(附代码及运行结果)

    源代码: import java.util.Scanner; class Account{ String identify; String name; String date; String key; ...

  6. bzoj 1179[Apio2009]Atm (tarjan+spfa)

    题目 输入 第一行包含两个整数N.M.N表示路口的个数,M表示道路条数.接下来M行,每行两个整数,这两个整数都在1到N之间,第i+1行的两个整数表示第i条道路的起点和终点的路口编号.接下来N行,每行一 ...

  7. ATM跨行取款的清算方式

    ATM跨行取款和POS机是类似的,因为没有商户参与,所以不需要收单清算,过程更为简单. 回到文章最开头的例子:你拿着一张工行卡去建行的ATM取了100元,这个跨行业务在CNAPS体系中的过程如下: 你 ...

  8. 工行ATM转账——事务操作

    今儿去工行ATM给已朋友转账,遇到这么个情况: 选择对外转账后输入转入账号(输入两次),接着提示输入转入金额(输入一次金额),按确定,系统提示交易中,3秒左右,提示“输入账号无效”,系统自动中断了操作 ...

  9. python之ATM

    每次做一点就发出来,大神不要嫌重复 2016/11/4 今天来搞ATM,反正逃不了的,说来惭愧,这个作业是我10/4号20天前拿到的,当时是万脸蒙比的,今天又做了一点,现在算是百脸蒙比吧. 一.需求: ...

随机推荐

  1. iOS面试必看

    转载:http://www.jianshu.com/p/5d2163640e26 序言 目前形势,参加到iOS队伍的人是越来越多,甚至已经到供过于求了.今年,找过工作人可能会更深刻地体会到今年的就业形 ...

  2. Java的配置文件有多少种

    最正宗的只有两个xml和properties两种,其中properties文件用的最广. 其实还有一些如txt,excel这些也可以实现配置文件,但不太正宗. 对于配置文件需要注意以下几点: 1.路径 ...

  3. iOS - drawRect致内存增加

    GPU VS CPU iOS - 软件绘图 自定义"斑马线背景"View,重写drawRect绘制斑马线: ⚠️ 仅仅添加这一个View,内存就比正常增加了3-5M之间. 测试源代 ...

  4. thinkphp 命名空间

    什么是命名空间?从广义上来说,命名空间是一种封装事物的方法.在很多地方都可以见到这种抽象概念.例如,在操作系统中目录用来将相关文件分组,对于目录中的文件来说,它就扮演了命名空间的角色.具体举个例子,文 ...

  5. 顶级域名和二级域名cookie共享删除和修改

    原文地址: https://segmentfault.com/a/1190000006932934

  6. ruby 基础知识三 读写文件

    1.File 中参数的含义 r 只读模式.文件指针被放置在文件的开头.这是默认模式. r+ 读写模式.文件指针被放置在文件的开头. w 只写模式.如果文件存在,则重写文件.如果文件不存在,则创建一个新 ...

  7. 面向对象编程(OOP)

    什么是面向对象编程,对于面向对象编程与面向过程编程的解释随处可见,个人认为对面向对象编程解释最好的一个定义是:依赖倒转原则是面向对象编程的标志,面向对象编程是一种思想,无论使用哪一种编程语言,如果在编 ...

  8. 初试PHP单元测试TDD之安装PHPUnit

    东风吹战鼓擂,一年一度的校招季开始了,最为一名即将踏入社会的搬砖工,自然也闲不下来了.各种总结.恶补.面经在所难免.当遇见敏捷开发时,有点蒙了,这是什么东东,绝对不能吃!既然是一种软件开发的方式,听上 ...

  9. Oracle EBS R12的启停脚本

    以下脚本用root用户登录执行: 一.DB启停使用EBS提供的脚本ebs_start.shsu - oraprod -c "/d01/oracle/PROD/db/tech_st/10.2. ...

  10. hashMap 深入理解

    1.java 的hashMap 是通过 链地址 法来解决 hash冲突的 2.初始时是一个empty table, 第一次添加数据时检查到时空数组就会 生成指定容量的数组,也就是 在第一次使用时才初始 ...