package ATM;
 import java.io.BufferedReader; 
import java.io.InputStreamReader;
 class Account{ private String number=null; private String name=null; private String password=null; private double money=0.0; public Account(String number,String name,String password,double money) { this.number=number; this.name=name; this.password=password; this.money=money; } 
public String getNumber() { return number; }
 public String getName() { return name; }
 public String getPassword() { return password; }
 public double getMoney() { return money; }
 protected void sub_Balance(double mon) { money-=mon; } protected void add_Balance(double mon) { money+=mon; } } 
class ATM { Account act; public ATM() { act=new Account("000", "test", "111", 5000); } protected void Welcome() { String str="------------------------"; System.out.print(str+"\n"); System.out.println("1.取款。"+"\n"+ "2.查询。"+"\n"+ "3.存款."+"\n"+ "4.退出系统."+"\n"); System.out.println(str+"\n"); } protected void Load_Sys() throws Exception { String card,pwd; int counter=0; BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); do { System.out.println("请输入您的卡号"); card=br.readLine(); System.out.println("请输入您的密码"); pwd=br.readLine(); if(!isRight(card,pwd)) { System.out.println("您的卡号或密码输入有误。"); counter++; } else SysOpter(); } while (counter<3); System.exit(1); } protected void SysOpter() throws Exception { int num; BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); System.out.println("请选择您要操作的项目(1-4):"); num=br.read(); switch(num) { case 49:GetBalance();break; case 50:Inqu_Info();break; case 51:AddBalance();break; case 52:Exit_Sys();break; } System.exit(1); } protected void Inqu_Info()throws Exception { System.out.println("-------------------------\n"+ "账户:"+act.getNumber()+"\n"+ "姓名:"+act.getName()+"\n"+ "余额:"+act.getMoney()+"\n"+ "----------------------\n"); SysOpter(); } public void GetBalance()throws Exception { String str=null,str1; BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); do{ System.out.println("请输入取款数目:"); str=br.readLine(); double qu=Double.valueOf(str).doubleValue(); if(qu>act.getMoney()) { System.out.println("余额不足,请重新输入您要取的数目:"); } else { act.sub_Balance(qu); System.out.println("取款成功,您的账户余额为:"+act.getMoney()); Welcome(); SysOpter(); } }while(true); } public void AddBalance()throws Exception { String str=null,str1; BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); do { System.out.println("请输入存款数目"); str=br.readLine(); double qu=Double.valueOf(str).doubleValue(); act.add_Balance(qu); System.out.println("存款成功,您的账户余额为:"+act.getMoney()); Welcome(); SysOpter(); }while(true); } protected boolean isBalance() { if(act.getMoney()<0) { return false; } return true; } protected boolean isRight(String card,String pwd) { if(act.getNumber().equals(card)&&act.getPassword().equals(pwd)) return true; else return false; } protected void Exit_Sys(){ System.out.println("感谢您使用本系统,再见!"); System.exit(1); } } public class Test { public static void main(String[] args)throws Exception { ATM atm=new ATM(); atm.Welcome(); atm.Load_Sys(); } 

Java测试代码(很不完整,建议大家别看,过几天会再发一次难的版本)的更多相关文章

  1. 在Jmeter中使用自定义编写的Java测试代码

    我们在做性能测试时,有时需要自己编写测试脚本,很多测试工具都支持自定义编写测试脚本,比如LoadRunner就有很多自定义脚本的协议,比如"C Vuser","Java ...

  2. 自定义编写jmeter的Java测试代码

    我们在做性能测试时,有时需要自己编写测试脚本,很多测试工具都支持自定义编写测试脚本,比如LoadRunner就有很多自定义脚本的协议,比如"C Vuser","JavaV ...

  3. 科大讯飞语音转文字以及中文分词的Java测试代码

    我录了一段音存储在这个test.m4a文件里,语音内容为"测试一下Netweaver对于并发请求的响应性能". 使用如下Java代码进行测试: package com.iflyte ...

  4. MongoDB之Java测试代码(DAO层)

    MongoInit.java是数据库初始化及连接类 MongoUtils.java是对mongodb的各种操作方法 MongoInit.java package com.wlwcloud.datate ...

  5. 自学Java测试代码二String, StringBuffer

    2017-08-23 10:38:01 writer:pprp package test; import java.util.*; public class test2 { public static ...

  6. 自学Java测试代码 - 简单地Student类

    2017-08-23  23:45:38 writer:pprp 写这个还蛮开心的 package test; public class Student { //创建成员变量 String name ...

  7. 自学Java测试代码一数据类型、数组使用

    2017-08-22 21:23:37. writer:pprp package test; public class helloWorld { int maxn = 123; //常量,需要定义一个 ...

  8. Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完成测试代码)

    MD5和RSA是网络传输中最常用的两个算法,了解这两个算法原理后就能大致知道加密是怎么一回事了.但这两种算法使用环境有差异,刚好互补. 一.MD5算法 首先MD5是不可逆的,只能加密而不能解密.比如明 ...

  9. Java&Selenium自动化测试实现页面元素、页面对象及测试代码分离

    一.摘要 本篇博文将介绍自动化测试实现页面元素.页面对象及测试代码分离在自动化框架中的实现 二.解析页面元素定位信息 首先,将页面元素与实际的代码分离,首先我们将页面元素定位信息和定位表达式保存在属性 ...

随机推荐

  1. zsh,oh-my-zsh,antigen使用记录

    关于 'zsh': 又名 z shell,‘z' 是26个字母中的最后一位,故取意为“终极终端”. 关于 'oh-my-zsh': 是一个针对zsh的模板化的z shell配置脚本,目标是配置一个好用 ...

  2. Java基础_0307:String类的基本概念

    String类的两种实例化方式 直接赋值: String str = "www.YOOTK.com"; 构造方法: 构造方法:public String(String str),在 ...

  3. 【blog】SpringMVC返回RSS格式的XML数据

    代码 import com.sun.syndication.feed.rss.Channel; import com.sun.syndication.feed.rss.Content; import ...

  4. 使用AOP思想无侵入式申请权限,解决组件化中权限问题(一)

    首先介绍AspectJx使用 https://github.com/HujiangTechnology/gradle_plugin_android_aspectjx 在根项目的build.gradle ...

  5. Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields(翻译)

    0 - Abstract 我们提出了一种方法去在一张图片中有效地识别多个人体的2D姿势.这个方法使用了一个无参数表示法,我们将其叫为Part Affinity Fields(PAFs),其是去在图片中 ...

  6. ubuntu14.04升级mysql5.5至mysql5.7

    原文链接:https://www.cnblogs.com/os-python/p/6842485.html 1.下载mysql-apt的配置包,并安装 wget https://dev.mysql.c ...

  7. oracle坏块问题的处理

    一.背景 今天有用户反映数据库连不上了,查看日志发现有数据库坏块. 查看数据库日志,有如下报错: ORA-01578: ORACLE , 93642) ORA-01110: 1: '/oracle/a ...

  8. 安装mysql8.0.12以及修改密码和Navicat的连接

    mysql8.0+与安装其他版本不同一.安装mysql8.0.121.到官网https://www.mysql.com/  下载mysql-8.0.12-winx64.zip(不要.mis),直接解压 ...

  9. 管理并行SQL执行的进程

    本节介绍的并行执行功能可用于Oracle数据库企业版 本节介绍如何管理SQL语句的并行处理.在此配置中,Oracle数据库可以将处理SQL语句的工作分为多个并行进程. 许多SQL语句的执行可以并行化. ...

  10. 全面接触PDF:最好用的PDF软件汇总(转)

    全面接触PDF:最好用的PDF软件汇总(2010-12-07更新): http://xbeta.info/pdf-software.htm 比较全面的c#帮助类,各种功能性代码: https://gi ...