Account.java

package ATM;//信1705-1 20173628 赵路仓

public class Account {
private int balance;//余额
private int amount;//取钱
private String ID;//卡号
private String passWord;//密码
private String name;//客户姓名
private String inputNum;//输入账户
private String inputWord;//输入密码

public double getBalance() {
return balance;
}
public void setBalance(int balance) {
this.balance = balance;
}
public double getMoney() {
return amount;
}
public void setMoney(int money) {
this.amount = money;
}
public String getCardsNum() {
return ID;
}
public void setCardsNum(String cardsNum) {
this.ID = cardsNum;
}
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
public String getInputNum() {
return ID;
}
public void setInputNum(String inputNum) {
this.ID = inputNum;
}
public String getInputWord() {
return ID;
}
public void setInputWord(String inputWord) {
this.inputWord = inputWord;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

AccountManager.java

package ATM;

import java.util.Scanner;

public class AccountManager {
Input input = new Input();

public void choose(Account atm) {
input.out();
System.out.println("请选择您要操作的项目(1-4):");
Scanner sc1 = new Scanner(System.in);
int num = sc1.nextInt();
switch (num) {
case 1:
getMoney(atm);
break;
case 2:
query(atm);
break;
case 3:
setPasswrod(atm);
break;
case 4:
exit();
break;
default:
error();
break;
}
}
public boolean getMoney(Account atm){
// input.out();
System.out.println("***************************************************************");
System.out.println("欢迎使用中国工商银行自助柜员系统");
System.out.println("****************************************************************");
System.out.println("请输入取款金额;");
System.out.println("****************************************************************");
for(int i= 0;i<3;i++){
Scanner sc = new Scanner(System.in);
atm.setMoney(sc.nextInt());
if(atm.getMoney() > atm.getBalance()){
System.out.println("超过已有的钱数,请重新输入您要取的数目:");

}else{

System.out.println("取款成功,请收好您的钱");
return true;
}
}
return false;
}

public void query(Account atm){
System.out.println("客户账号:"+atm.getCardsNum());
System.out.println("客户名:"+atm.getName());
System.out.println("客户账户余额:"+atm.getBalance());
}

public void setPasswrod(Account atm){
System.out.println("请重新输入密码:");
Scanner sc1 = new Scanner(System.in);
String num = sc1.next();
atm.setPassWord(num);
System.out.println("您的密码为:"+"\n"+atm.getPassWord());
}

public void exit(){

System.out.println("感谢您使用本系统,欢迎下次再来,再见!");
System.exit(0);
}

public void error(){
//shurude shuju
System.out.println("输入的数据有误");
}
}

input.java

package ATM;

import java.util.Scanner;

public class Input {
public void out(){
System.out.println("***************************************************************");
System.out.println("欢迎使用中国工商银行自助柜员系统");
System.out.println(" ");
System.out.println("*********************************************");
System.out.println("1.取款.\n2.>查询信息.\n3.密码设置.\n4.退出系统.");
}
public boolean input(String card, String password){

for (int i = 0; i < 3; i++) {
System.out.println("***************************************************************");
System.out.println("欢迎使用中国工商银行自动柜员系统");
System.out.println("***************************************************************");
System.out.println("\t请输入您的账户:");
System.out.println("***************************************************************");
Scanner sc1 = new Scanner(System.in); // 输入卡号
String inputCard = sc1.next();
System.out.println("***************************************************************");
System.out.println("欢迎使用中国工商银行自动柜员系统");
System.out.println("***************************************************************");
System.out.println("\t请输入您的密码:");
System.out.println("***************************************************************");
Scanner sc2 = new Scanner(System.in); //输入密码
String inputWord = sc2.next();

if (card == inputCard && password == inputWord) {
return true;
}else {
if (i == 2) {
System.out.println("对不起,输入错误已达三次,您的卡已经被没收");
}else {
System.out.println("您的卡号或密码输入有误.");
}
}
}
return false;
}
}

Testdocuments.java

package ATM;

public class Testdocumets {

public static void main(String[] args) {
Account atm = new Account();
atm.setBalance(2000);
atm.setCardsNum("20173628");
atm.setPassWord("20173628");
atm.setName("赵路仓");

Input input = new Input();
input.out();
boolean result = input.input(atm.getCardsNum(), atm.getPassWord());

AccountManager operation = new AccountManager();
if (result) {
operation.choose(atm);
}
}
}

Atm 测试的更多相关文章

  1. [CareerCup] 12.6 Test an ATM 测试一个自动取款机

    12.6 How would you test an ATM in a distributed banking system? 这道题问我们如何来测试一个自动取款机,我们首先要询问下列问题: - 谁来 ...

  2. JAVA Atm测试实验心得

    通过一个假期的自学,完成了老师布置的样卷任务.使用Escipse编写一个学生成绩的管理系统. 一开始两眼摸黑,通过观看Java课程的视频,地址:https://www.bilibili.com/vid ...

  3. 模拟ATM机将输入的数据插入数据库

    ATM抽象类 public abstract class ATM { private double balance; private String idcard; private String pas ...

  4. java 使用线程做一个简单的ATM存取款实例.(转)

    线程 Thread 类,和 Runable 接口 比较两者的特点和应用领域. 可以,直接继承线程Thread类.该方法编写简单,可以直接操作线程,适用于单重继承情况,因而不能在继承其他类 实现Runn ...

  5. java测试ATM自助操作系统

    开学第一周系主任安排了一项测试,测试要求:模拟ATM自助取款机用文件进行存储账户信息,密码等,并进行存款取款,转账,查询记录等操作,而且要进行文件的读取与录入. 这是一个ATM自助取款的操作系统,进行 ...

  6. Java课堂测试--实现ATM的基本操作体会

    9月20的周四的Java课堂第一节课上就是有关于实现ATM的考试内容,在实现的过程中我了解到自己本身还是有很多的不足之处,例如在实现工程方面的相似性上面还有些许就的欠缺,再者就是回宿舍拿电源的原因导致 ...

  7. Java测试笔记(ATM)

    本次Java测试主要是做一个与ATM相似的系统,用文本文件来作为用户数据库,实现存款.取款.转账.修改密码.查询余额的功能.在做这次测试之前老师并没有讲解与Java相关的知识,所以这就需要我们自学Ja ...

  8. 关于课堂测试ATM系统的总结

    第一节课就是考试,是要求用Java语言编写模仿ATM的系统操作,说实话真的好难,Java语言,王主任是让我们自学的,然后就让我们写一个这比较大的程序,好难,也可能是我太笨了吧... 不过话说回来,说到 ...

  9. ATM开学测试(未完成)

    package ATM_design; //信1705-2 20173456 张浩 import java.util.*; import java.io.File; import java.io.Fi ...

随机推荐

  1. .NET Core 小程序开发零基础系列(2)——小程序服务通知(模板消息)

    基于上一篇文件“.NET Core 小程序开发零基础系列(1)——开发者启用并校验牵手成功”的反映,个人觉得效果很不错,大家对公众号开发还是有很大需求的,同时也收到了很多同学的问题,后面我也会通过实战 ...

  2. .net core 单元测试之 JustMock第一篇

    前面介绍了单元测试的框架NUnit,它可以很好的帮助我们建立测试,检验我们的代码是否正确.但这还不够,有时候我们的业务比较重,会依赖其它的类.基于隔离测试的原则,我们不希望依赖的其它类影响到我们的测试 ...

  3. Salesforce LWC学习(五) LDS & Wire Service 实现和后台数据交互 & meta xml配置

    之前的几节都是基于前台变量进行相关的操作和学习,我们在项目中不可避免的需要获取数据以及进行DML操作.之前的内容中也有提到wire注解,今天就详细的介绍一下对数据进行查询以及DML操作以及Wire S ...

  4. 使用fine-uploader上传文件

    步骤1:下载fine-uploader 步骤2:加入引用 <link href="/fine-uploader/fine-uploader-gallery.min.css" ...

  5. 前端开发-Web标准

    Web标准 1理解:结构 => html表现 => css行为 => js(dom + es) WEB标准(结构.表现.行为分离)有哪些优点呢? 易于维护:只需更改CSS文件,就可以 ...

  6. effective java 3th item1:考虑静态工厂方法代替构造器

    传统的方式获取一个类的实例,是通过提供一个 public 构造器.这里有技巧,每一个程序员应该记住.一个类可以对外提供一个 public 的 静态工厂方法 ,该方法只是一个朴素的静态方法,不需要有太多 ...

  7. win8,右键添加notepad++

    1.下载并安装notepad++ 2.创建txt文件test1.txt,内容如下: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\ ...

  8. CF 538 D. Flood Fill 递归 区间DP

    link:https://codeforces.com/contest/1114/problem/D 题意: 给定一个数组,有不同的颜色,你可以从任意一个位置开始,改变颜色,相邻的是同一种颜色的位子的 ...

  9. java 自动生成四则运算式

    本篇文章将要介绍一个“自动生成四则运算式”的java程序,在没有阅读<构建之法>之前,我已经通过一个类的形式实现了要求的功能,但是当阅读完成<构建之法>之后,我意识到自己所写程 ...

  10. 最小生成树问题---Prim算法学习

    一个具有n个节点的连通图的生成树是原图的最小连通子集,它包含了n个节点和n-1条边.若砍去任一条边,则生成树变为非连通图:若增加一条边,则在图中形成一条回路.本文所写的是一个带权的无向连通图中寻求各边 ...