源代码:

import java.util.Scanner;
interface fangfa{

public void show();
public void qukuan();
public void cunkuan();
public void zhuanzhang();
public void setAcount(String string, String string2, String string3, String string4, double i);
public String getMima();
}
class atm implements fangfa{
String kahao; //私有变量
String name;
String riqi;
double yue;
String mima;

public atm(){ //无参构造函数

}
public atm(String kahao,String name,String riqi,String mima,double yue){ //有参构造函数

this.kahao=kahao;
this.name=name;
this.riqi=riqi;
this.mima=mima;
this.yue=yue;
}

public void setAcount(String kahao,String name,String riqi,String mima,double yue){ //赋值

this.kahao=kahao;
this.name=name;
this.riqi=riqi;
this.mima=mima;
this.yue=yue;
}
public String getkahao(){ return kahao;}//获得值

public String getName(){return name;}
public String getRiqi(){return riqi;}
public String getMima(){return mima;}
public double getYue(){return yue;}

public void show()
{
System.out.println("余额为:"+yue);
}
public void cunkuan(){
System.out.println("请输入存款金额:");
Scanner s=new Scanner(System.in);
yue+=s.nextDouble();
show();
}

public void zhuanzhang()
{
atm q=new atm();
Scanner s=new Scanner(System.in);
System.out.println("请输入对方卡号:");
q.kahao=s.nextLine();
System.out.println("请输入转账金额:");
double zhuan=s.nextDouble();
yue=yue-zhuan;
q.yue=q.yue+zhuan;
show();
}
public void qukuan(){
boolean f=true;
while(f){
System.out.println("1、100元");
System.out.println("2、500元");
System.out.println("3、1000元");
System.out.println("4、1500元");
System.out.println("5、2000元");
System.out.println("6、5000元");
System.out.println("7、其他金额");
System.out.println("8、退卡");
System.out.println("9、返回");
System.out.println("请选择");
Scanner s=new Scanner(System.in);
int ch=s.nextInt();
switch(ch){
case 1:
yue=yue-100;
show();
break;
case 2:
yue=yue-500;
show();
break;
case 3:
yue=yue-1000;
show();
break;
case 4:
yue=yue-1500;
show();
break;
case 5:
yue=yue-2000;
show();
break;
case 6:
yue=yue-5000;
show();
break;
case 7:
System.out.println("请输入取款金额:");
double qu=s.nextDouble();
yue=yue-qu;
show();
break;
case 8:
f=false;
break;
case 9:
f=false;
break;

}
}
}

}
public class ABC {

public static void main(String[] args) {
// TODO Auto-generated method stub

fangfa a=new atm();
a.setAcount("111111111111", "nasdf", "199508030048", "123456", 20000);
System.out.println("请输入密码:");
Scanner aa=new Scanner(System.in);
String ba=aa.nextLine();
if(ba.equals(a.getMima()))

while(true){

System.out.println("1、取款");
System.out.println("2、存款");
System.out.println("3、转账");
System.out.println("4、查询");
System.out.println("请选择:");
Scanner s=new Scanner(System.in);
int b=s.nextInt();
switch(b){
case 1:
a.qukuan();
break;
case 2:
a.cunkuan();
break;
case 3:
a.zhuanzhang();
break;
case 4:
a.show();
}
}
}
}

实验截图:

Java-8ATM的更多相关文章

  1. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  2. 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题

    背景起因: 记起以前的另一次也是关于内存的调优分享下   有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...

  3. Elasticsearch之java的基本操作一

    摘要   接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...

  4. 论:开发者信仰之“天下IT是一家“(Java .NET篇)

    比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...

  5. 故障重现, JAVA进程内存不够时突然挂掉模拟

    背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...

  6. 死磕内存篇 --- JAVA进程和linux内存间的大小关系

    运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...

  7. 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用

    有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...

  8. Java多线程基础学习(二)

    9. 线程安全/共享变量——同步 当多个线程用到同一个变量时,在修改值时存在同时修改的可能性,而此时该变量只能被赋值一次.这就会导致出现“线程安全”问题,这个被多个线程共用的变量称之为“共享变量”. ...

  9. Java多线程基础学习(一)

    1. 创建线程    1.1 通过构造函数:public Thread(Runnable target, String name){}  或:public Thread(Runnable target ...

  10. c#与java的区别

    经常有人问这种问题,用了些时间java之后,发现这俩玩意除了一小部分壳子长的还有能稍微凑合上,基本上没什么相似之处,可以说也就是马甲层面上的相似吧,还是比较短的马甲... 一般C#多用于业务系统的开发 ...

随机推荐

  1. 128階數的Shunt音量控制器

    源:128階數的Shunt音量控制器 紅外線遙控 - 256階Shunt音量及控制及音源 選擇器

  2. [转]Go语言(golang)开源项目大全

    内容目录 Astronomy 构建工具 缓存 云计算 命令行选项解析器 命令行工具 压缩 配置文件解析器 控制台用户界面 加密 数据处理 数据结构 数据库和存储 开发工具 分布式/网格计算 文档 编辑 ...

  3. C#中的逆变和协变

    msdn 解释如下: “协变”是指能够使用与原始指定的派生类型相比,派生程度更大的类型. “逆变”则是指能够使用派生程度更小的类型. 解释的很正确,大致就是这样,不过不够直白. 直白的理解: “协变” ...

  4. sql2000/sql2005/sql2008数据库变为0字节修复/MDF文件0字节恢复

    [数据恢复故障描述]  这个客户是生产型数据库,数据比较重要,产生量也比较大,客户要求必须尽快修复,保证生产尽快恢复运行.sql数据库文件,由于碎片链接过长,mdf文件突然变为0字节,开始客户尝试自行 ...

  5. WebGIS中通过行列号来换算出多种瓦片的URL 之离线地图(转载)

    WebGIS中通过行列号来换算出多种瓦片的URL 之离线地图 1.前言 在前面我花了两个篇幅来讲解行列号的获取,也解释了为什么要获取行列号.在这一章,我将把常见的几种请求瓦片时的URL样式罗列出来,并 ...

  6. Nginx中的信号量(信号控制)

  7. 创建 Web 前端开发环境(node和npm)

    Web 前端开发涉及多种工具,这里将常用工具的安装和配置进行说明,提供了详细的说明,为后继的开发创建一个坚实的基础. 本文介绍的工具有:NodeJS, NPM, Bower, Git 和 Grunt. ...

  8. jq动态添加的元素触发绑定事件无效

    <div class='a'> <div class='b'> </div> 其中$('.a')是html页面的元素,$('.b')是jq动态添加的元素.$(&qu ...

  9. Javascript正则表达式完全学习手册

    正则表达式看起来很吓人,不容易让人亲近,但它的确很好用,可以很大程度上提高你的开发效率.本文从零开始介绍了应如何学习正则表达式.文中范例主要为JavaScript. 正则表达式可以很恐怖,真得很恐怖. ...

  10. iOS 之 CALayer与UIView的区别

    最大区别:CALayer (图层)不会直接渲染到屏幕上. UIView是iOS系统中界面元素的基础,所有的界面元素都继承自它.它本身完全是由CoreAnimation来实现的. 真正的绘图部分,是由一 ...