源代码:

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. MySQL show slave status命令参数

    ? Slave_IO_State SHOW PROCESSLIST输出的State字段的拷贝.SHOW PROCESSLIST用于从属I/O线程.如果线程正在试图连接到主服务器,正在等待来自主服务器的 ...

  2. coreGraphs和动画

    http://www.jianshu.com/p/b71c3d450e8e http://blog.csdn.net/volcan1987/article/details/9969455 http:/ ...

  3. GCJ Round 1C 2009 Problem C. Bribe the Prisoners

    区间DP.dp[i][j]表示第i到第j个全部释放最小费用. #include<cstdio> #include<cstring> #include<cmath> ...

  4. redhat在线安装chrome浏览器

    开始的时候是参考吹尽黄沙始到金的文章http://www.cnblogs.com/effective/archive/2012/03/18/2405189.html 1.创建一个文件/etc/yum. ...

  5. My97DatePicker显示时间控件的使用方法

    1.下载My97DatePicker到项目的WebContent文件夹,下载地址http://www.my97.net/dp/down.asp,项目文件夹目录如图所示 2.页面调用 在这里我的路径出现 ...

  6. Linux FTP 服务器配置简单说明

    一.  FTP 说明 linux 系统下常用的FTP 是vsftp, 即Very Security File Transfer Protocol. 还有一个是proftp(Profession ftp ...

  7. HNU 13074 Goldbach’s Conjecture 解题报告

    题目大意:输入一个偶数(x<32000),输出这个偶数是由哪两个素数相加所得. 比如:一个偶数26,它可以是3+23,7+19,13+13,这些素数相加所得. 输入输出样例: Sample In ...

  8. linux下简单限制网卡速度

    Linux下限制网卡的带宽,可用来模拟服务器带宽耗尽,从而测试服务器在此时的访问效果. 1.安装iproute yum -y install iproute 2.限制eth0网卡的带宽为50kbit: ...

  9. javascript设计模式之解释器模式详解

    http://www.jb51.net/article/50680.htm 神马是“解释器模式”? 先翻开<GOF>看看Definition:给定一个语言,定义它的文法的一种表示,并定义一 ...

  10. Update关联查询不走索引,效率低下

    优化一个sql,就是有A,B两个表,要利用b表的字段更新a表对应的字段.形如 Sql代码 update A set A.a=(select B.b from B where A.id=B.id); 原 ...