Atm 测试
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 测试的更多相关文章
- [CareerCup] 12.6 Test an ATM 测试一个自动取款机
12.6 How would you test an ATM in a distributed banking system? 这道题问我们如何来测试一个自动取款机,我们首先要询问下列问题: - 谁来 ...
- JAVA Atm测试实验心得
通过一个假期的自学,完成了老师布置的样卷任务.使用Escipse编写一个学生成绩的管理系统. 一开始两眼摸黑,通过观看Java课程的视频,地址:https://www.bilibili.com/vid ...
- 模拟ATM机将输入的数据插入数据库
ATM抽象类 public abstract class ATM { private double balance; private String idcard; private String pas ...
- java 使用线程做一个简单的ATM存取款实例.(转)
线程 Thread 类,和 Runable 接口 比较两者的特点和应用领域. 可以,直接继承线程Thread类.该方法编写简单,可以直接操作线程,适用于单重继承情况,因而不能在继承其他类 实现Runn ...
- java测试ATM自助操作系统
开学第一周系主任安排了一项测试,测试要求:模拟ATM自助取款机用文件进行存储账户信息,密码等,并进行存款取款,转账,查询记录等操作,而且要进行文件的读取与录入. 这是一个ATM自助取款的操作系统,进行 ...
- Java课堂测试--实现ATM的基本操作体会
9月20的周四的Java课堂第一节课上就是有关于实现ATM的考试内容,在实现的过程中我了解到自己本身还是有很多的不足之处,例如在实现工程方面的相似性上面还有些许就的欠缺,再者就是回宿舍拿电源的原因导致 ...
- Java测试笔记(ATM)
本次Java测试主要是做一个与ATM相似的系统,用文本文件来作为用户数据库,实现存款.取款.转账.修改密码.查询余额的功能.在做这次测试之前老师并没有讲解与Java相关的知识,所以这就需要我们自学Ja ...
- 关于课堂测试ATM系统的总结
第一节课就是考试,是要求用Java语言编写模仿ATM的系统操作,说实话真的好难,Java语言,王主任是让我们自学的,然后就让我们写一个这比较大的程序,好难,也可能是我太笨了吧... 不过话说回来,说到 ...
- ATM开学测试(未完成)
package ATM_design; //信1705-2 20173456 张浩 import java.util.*; import java.io.File; import java.io.Fi ...
随机推荐
- Eclipse中安装JRebel热部署教程
Eclipse中安装JRebel热部署教程 前言 Eclipse安装JRebel插件可快速实现热部署,节省了大量重启时间,提高开发效率. 本文只介绍Eclipse安装JRebel插件版本 ...
- Fortigate防火墙常用命令
命令结构 #config 对策略,对象等进行配置 #get 查看相关对象的参数 #show 查看配置文件 #diagnose 诊断命令 #execute 常用的工具命令,如ping treacer ...
- netty无缝切换rabbitmq、activemq、rocketmq实现聊天室单聊、群聊功能
netty的pipeline处理链上的handler:需要IdleStateHandler心跳检测channel是否有效,以及处理登录认证的UserAuthHandler和消息处理MessageHan ...
- python 35 多线程
目录 多线程 1. 线程 2. 线程vs进程 3. 开启线程的两种方法. 4. 线程的特性 5. 线程的相关方法 6. join 阻塞 7. 守护线程 daemon 8. 互斥锁 多线程 1. 线程 ...
- 马蜂窝视频编辑框架设计及在 iOS 端的业务实践
(马蜂窝技术公众号原创内容,ID: mfwtech) 熟悉马蜂窝的朋友一定知道,点击马蜂窝 App 首页的发布按钮,会发现发布的内容已经被简化成「图文」或者「视频」. 长期以来,游记.问答.攻略等图文 ...
- Leetcode之深度优先搜索&回溯专题-491. 递增子序列(Increasing Subsequences)
Leetcode之深度优先搜索&回溯专题-491. 递增子序列(Increasing Subsequences) 深度优先搜索的解题详细介绍,点击 给定一个整型数组, 你的任务是找到所有该数组 ...
- Mac应用程序无法打开或文件损坏的处理方法你知道吗?
很多用户在安装Mac软件的时候,经常会遇到提示“xxx.app已损坏,打不开.您应该将它移到废纸篓“或”打不开的xxx.app,因为它来自身份不明的开发者”,如下图的样子: 真的损坏了么?是不是真的要 ...
- P1415 拆分数列 DP
传送门: 题意: 将一个数字串分成许多不同的小串,使得这些小串代表的数字严格递增,要求最后一个数字尽可能地小. 然后满足字典序尽可能大. 思路: 由于最后一个数字要尽可能地小,所以先处理出每个数的L[ ...
- gym/101955/problem/E - The Kouga Ninja Scrolls 线段数 维护 切比雪夫距离 2018沈阳icpc
传送门 思路: 这道题要把给定的每个坐标利用切比雪夫坐标表示,这样两个点的距离就是max(dx,dy),而不是一开始的dx + dy,有利于线段树的维护,又由于询问的是区间的最大差值,限制是两个点是属 ...
- 洛谷- P1306 斐波那契公约数 - 矩阵快速幂 斐波那契性质
P1306 斐波那契公约数:https://www.luogu.org/problemnew/show/P1306 这道题目就是求第n项和第m项的斐波那契数字,然后让这两个数求GCD,输出答案的后8位 ...