需求:
模拟ATM机,实现读卡,存款,取款,转账,打印等功能。
/**
*卡信息类
*/
public class UserInfo {
private String account; //账号
private String password; //密码
private String name; //持卡人姓名
private double balance; //余额
public UserInfo() {
}
public UserInfo(String account, String password, String name, double balance) {
this.account = account;
this.password = password;
this.name = name;
this.balance = balance;
}
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getBalance() {
return balance;
}
public void setBalance(double balance) {
this.balance = balance;
}
}
/**
*ATM类
*/
public class ATM {
UserInfo lisi = new UserInfo("10001", "123456", "李四", 2000);
UserInfo wangwu = new UserInfo("10002", "123456", "王五", 3000);
int count=3;
private boolean flag;
//创建list集合,存放转账信息
List<String> tranMoneyList=new ArrayList<>();
//创建list集合,存放所有操作信息
List<String> optionInfoList=new ArrayList<>();
public boolean isFlag(){
return flag;
}
public void setFlag(boolean flag) {
this.flag = flag;
}
Scanner sc = new Scanner(System.in);
// 1、显示一段欢迎的信息
public void showWelcom() {
System.out.println("*****************");
System.out.println("**欢迎使用ATM**");
System.out.println("*****************");
}
//登录
public void login() {
System.out.println("请输入卡号");
String keyAccount = sc.next();
System.out.println("请输入密码");
String keyPassword = sc.next();
if (keyAccount.equals(lisi.getAccount()) && keyPassword.equals(lisi.getPassword())) {
System.out.println("欢迎" + lisi.getName() + "来到ATM系统");
showMenu();
} else {
if (count > 1) {
//当count允许重新输入的次数大于1时执行
count--;
System.out.println("卡号或密码有误,请重新输入还有" + count + "机会");
} else {
System.out.println("请重新运行程序");
}
}
}
// 显示主菜单
public void showMenu() {
System.out.println("***********************************");
System.out.println("*******请输入你想要操作类型*******");
System.out.println("******1.余额查询 2.取款***********");
System.out.println("******3.存款 4.转账***********");
System.out.println("******5.打印 6.退卡***********");
System.out.println("******7.查询转账信息**************");
System.out.println("**********************************");
}
//查询余额
public void searchMoney(){
System