package ATM;
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;
public class ATMOperator {
private final ArrayList<ATM> arrayList = new ArrayList<>(); //定义了一个集合,用来装菜品信息
ATM loginAcc;
private void opening() {
//注册模块
ATM atm = new ATM();
Scanner sc = new Scanner(System.in);
//注册用户名
System.out.println("请输入你要注册的账户名");
String name = sc.next();
atm.setName(name);
//注册性别
while (true) {
System.out.println("请选择你的性别");
System.out.println("1.男 , 2,女");
String gender = sc.next();
switch (gender) {
case "1":
atm.setGender("男");
break;
case "2":
atm.setGender("女");
break;
default:
System.out.println("输入的操作无效,请重新输入~~");
continue;
}
break;
}
//注册密码
System.out.println("请输入你要注册的密码");
String password = sc.next();
while (true) {
System.out.println("请再次确认你的密码");
String password1 = sc.next();
if (password1.equals(password)) {
atm.setPassword(password);
break;
} else {
System.out.println("你输入的密码与原密码不一样~~");
}
}
//初始化银行额度
while (true) {
System.out.println("请输入你的银行卡额度");
double money = sc.nextDouble();
if (money > 0) {
atm.setMoney(money);
break;
} else {
System.out.println("输入有误,请重新输入");
}
}
//获取到银行卡卡号
// Random r = new Random();
// String account = "";
// for (int i = 0; i < 8; i++) {
// String account1 = String.valueOf(r.nextInt(10));
// account += account1;
// }
// atm.setAccount(account);
// System.out.println("恭喜你,开户成功,你的卡号是" + account);
//
Random r = new Random();
StringBuilder accountBuilder = new StringBuilder();
for (int i = 0; i < 8; i++) {
String account1 = String.valueOf(r.nextInt(10));
accountBuilder.append(account1);
}
String account = accountBuilder.toString();
atm.setAccount(account);
System.out.println("恭喜你,开户成功,你的卡号是" + account);
//把对象进行封装
arrayList.add(atm);
}
private void login() {
//登录模块
if (arrayList.size() == 0) {
System.out.println("该系统中没有账户,请先注册");
return;
}
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("请输入你要登录的账户名");
String name = sc.next();
System.out.println("请输入你的密码");
String password = sc.next();
for (ATM atm : arrayList) {
if (name.equals(atm.getName()) && password.equals(atm.getPassword())) {
switch (atm.getGender()) {
case "男":
System.out.println("恭喜卡号是" + atm.getAccount() + "的先生登录成功");
loginAcc = atm;
break;
case "女":
System.out.println("恭喜卡号是" + atm.getAccount() + "的女士登录成功");
loginAcc = atm;
break;
}
loginAge();
return;
}
}
System.out.println("你输入的密码有误,请重新输入密码");
//到这里登录成功
}
}
//public void login() {
// //登录模块
// if (arrayList.size() == 0) {
// System.out.println("该系统中没有账户,请先注册");
// return;
// }
// Scanner sc = new Scanner(System.in);
// while (true) {
// System.out.println("请输入你要登录的账户名");
// String name = sc.next();
// System.out.println("请输入你的密码");
// String password = sc.next();
// for (int i = 0; i < arrayList.size(); i++) {
// if (name.equals(arrayList.get(i).getName()) && password.equals(arrayList.get(i).getPassword())) {
// switch (arrayList.get(i).getGender()) {
// case "男":
// System.out.println("恭喜卡号是" + arrayList.get(i).getAccount() + "的先生登录成功");
// loginAcc = arrayList.get(i);
// break;
// case "女":
// System.out.println("恭喜卡号是" + arrayList.get(i).getAccount() + "的女士登录成功");
// loginAcc = arrayList.get(i);
// break;
// }
// loginAge();
// return; // 登录成功后直接返回,结束循环
// }
// }
// System.out.println("你输入的账户名或密码有误,请重新输入");
// }
//}
private void destroy() {
//销户模块
if (arrayList.size() == 0) {
System.out.println("系统没有账户,无法注销");
return;
}
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("请输入你要注销的账户卡号");
String account = sc.next();
ATM acc = getAccountByCardId(account);
if (acc == null) {
System.out.println("你输入的卡号有误,请重新输入");
} else {
System.out.println("你的账户名是" + acc.getName());
System.out.println("你的账户卡号是" + acc.getAccount());
System.out.println("你的账户余额是" + acc.getMoney());
if (acc.getMoney() != 0) {
System.out.println("因为账户还有余额,无法注销");
return;
}
System.out.println("确定注销这个账户吗");
System.out.println("1.是 2.否");
String command = sc.next();
switch (command) {
case "1":
while (true) {
System.out.println("请输入你的密码");
String password = sc.next();
if (password.equals(acc.getPassword())) {
System.out.println("注销成功");
return;
} else {
System.out.println("你输入的密码有问题,请重新输入");
}
}
case "2":
break;
default:
System.out.println("输入有误,请重新输入");
}
}
}
}
private void loginAge() {
while (true) {
Scanner sc = new Scanner(System.in);
System.out.println("1.存款");
System.out.println("2.取款");
System.out.println("3.转账"