ATM简易模拟更新1.0 控制台输出 Map存储账号密码 可注册 余额尚未研究出怎么修改存储

ATM简易模拟更新1.0   控制台输出  Map存储账号密码  可注册  余额尚未研究出怎么修改存储 目前还是多账户共享一个余额的  


package com.hyjy.atm;


import java.util.*;


public class ATM {
public static void main(String[] args) {
ATM atm = new ATM();
atm.welcom();
}


Scanner in = new Scanner(System.in);
Map map = new HashMap();
int inNum, inPass; // 客户输入的账号密码
int balance = 10000; // 余额
int outMo; // 取款金额
int inMo; // 存款金额
int outMon; // 自定义存款金额
int idIn; // 输入账号


public void welcom() {
System.out
.println("——————————————————————欢迎光临民生银行网上ATM系统————————————————————————————");
System.out
.println("     请选择操作: 【1】登陆                                  【2】注册                                         【3】退出");
System.out
.println("__________________________________________________________________");
int chose = in.nextInt();
while (true) {
if (chose > 3 || chose < 0) {
System.out.println("编号输入有误,请重新选择:");
chose = in.nextInt();
continue;
} else {
switch (chose) {
case 1:
login();
break;
case 2:
logon();
break;
case 3:
;
}
break;
}
}
}


public void menu() {
System.out
.println("———————————————————————欢迎光临民生银行网上ATM操作系统———————————————————");
System.out
.println("****************************************************************");
System.out
.println("请选择业务编号:| 【1】取款     【2】存款     【3】查询     【4】转账     【5】修改密码     【6】退卡       |");
int num = in.nextInt();
while (true) {
if (num > 6 || num < 1) {
System.out.println("编号选择有误,请重新输入:");
num = in.nextInt();
continue;
} else {
switch (num) {
case 1:
outMoney();
break;
case 2:
inMoney();
break;
case 3:
query();
break;
case 4:
transfer();
break;
case 5:
change();
break;
case 6:
bCard();
break;
}
break;
}
}
}


public void outMoney() { // 输入取款金额


System.out
.println("请选择取款金额:| 【1】100     【2】200     【3】500     【4】1000    【5】2000     【6】其他金额     【7】 取消 |");
int num = in.nextInt();
while (true) {
if (num > 7 || num < 1) {
System.out.println("编号选择有误,请重新输入:");
num = in.nextInt();
continue;
} else {
switch (num) { // 确定取款金额
case 1:
outMo = 100;
getMoney();
break;
case 2:
outMo = 200;
getMoney();
break;
case 3:
outMo = 500;
getMoney();
break;
case 4:
outMo = 1000;
getMoney();
break;
case 5:
outMo = 2000;
getMoney();
break;
case 6:
System.out.println("请输入取款金额:(只能取100的整数)");
outMon = in.nextInt();
cheakOut();
case 7:
menu();
break;
}
break;
}
}
}


public void cheakOut() { // 判断自定义取款金额是否是100的整数
if (outMon % 100 == 0 && outMon >= 100) { // 小于100 的数和100取余也等于0 所以要加上条件
// >=100
outMo = outMon;
getMoney(); // 输入金额符合规定则调用取款方法
} else {
System.out.println("您所输入的金额有误,应输入大于或等于100的整数,请重新输入取款金额");
outMoney(); // 输入金额不符合规定则调用输入取款金额方法
}
}


public void getMoney() {
if (outMo > balance) { // 判断余额
System.out.println("余额不足,取款失败,请重新输入取款金额:");
outMoney();
} else {
balance -= outMo;
System.out.println("取款成功,当前余额为:    " + balance);
System.out
.println("请选择下一步操作:     【1】返回主菜单         【2】继续取款                【3】退卡");
int num = in.nextInt();
while (true) {
if (num > 3 || num < 1) {
System.out.println("编号输入错误,请重新输入:");
num = in.nextInt();
continue;
} else {
switch (num) {
case 1:
menu();
break;
case 2:
outMoney();
break;
case 3:
bCard();
break;
}
break;
}
}
}
}


public void inMoney() {
System.out.println("请输入存款金额:");
inMo = in.nextInt();
while (true) {
if (inMo % 100 == 0 && inMo >= 100) { // 判断存款金额是否符合规定
balance += inMo;
System.out.println("存款成功,当前余额为:     " + balance);
System.out
.println("请选择下一步操作:     【1】返回主菜单         【2】继续存款                【3】退卡");
int num = in.nextInt();
while (true) {
if (num > 3 || num < 1) {
System.out.println("编号输入错误,请重新输入:");
num = in.nextInt();
continue;
} else {
switch (num) {
case 1:
menu();
break;
case 2:
inMoney();
break;
case 3:
bCard();
break;
}
break;
}
}
} else {
System.out.println("您所输入的金额有误,应输入大于或等于100的整数,请重新输入存款金额");
inMo = in.nextInt();
continue;
}
}


}


public void query() { // 查询方法
System.out.println("您当前的余额为       " + balance);
System.out
.println("请选择下一步操作:     【1】返回主菜单         【2】继续查询                【3】退卡");
int num = in.nextInt();
while (true) {
if (num > 3 || num < 1) {
System.out.println("编号输入错误,请重新输入:");
num = in.nextInt();
continue;
} else {
switch (num) {
case 1:
menu();
break;
case 2:
query();
break;
case 3:
bCard();
break;
}
break;
}
}


}


public void transfer() { // 转账方法
System.out.println("请输入转账账号:");
int tra = in.nextInt();
System.out.println("请输入转账金额:");
int traMo = in.nextInt();
balance -= traMo;
System.out.println("转账成功,您当前的余额为:     " + balance);
System.out
.println("请选择下一步操作:     【1】返回主菜单         【2】继续转账                【3】退卡");
int num = in.nextInt();
while (true) {
if (num > 3 || num < 1) {
System.out.println("编号输入错误,请重新输入:");
num = in.nextInt();
continue;
} else {
switch (num) {
case 1:
menu();
break;
case 2:
transfer();
break;
case 3:
bCard();
break;
}
break;
}
}
}


public void change() { // 修改密码方法
System.out.println("请输入新密码:");
int nPassword = in.nextInt();
System.out.println("请再输入一次:");
int nePassword = in.nextInt();
while (true) {
if (nPassword == nePassword) {
map.put(idIn, nPassword);
System.out.println("密码修改成功!");
back();
break;
} else {
System.out.println("两次密码输入不同,修改密码失败,请重新输入:");
System.out.println("请输入新密码:");
nPassword = in.nextInt();
System.out.println("请再输入一次:");
nePassword = in.nextInt();
continue;
}
}
}


public void back() { // 返回主菜单方法
System.out
.println("请选择下一步操作:     【1】返回主菜单                         【2】退卡");
int num = in.nextInt();
while (true) {
if (num > 3 || num < 1) {
System.out.println("编号输入错误,请重新输入:");
num = in.nextInt();
continue;
} else {
switch (num) {
case 1:
menu();
break;
case 2:
bCard();
break;
}
}
break;
}
}


public void bCard() { // 退卡方法
System.out.println("谢谢使用,欢迎下次光临!");
welcom();
}


public void login() {
System.out.println("请输入账号:");
idIn = in.nextInt();
if (map.containsKey(idIn)) {
System.out.println("请输入密码");
int passWord = in.nextInt();
int i = 1;
boolean boo = true;
while (boo && i < 4) {
if (map.get(idIn).equals(passWord)) {
System.out.println("账号密码正确 欢迎登陆");
menu();
break;
} else {
i++;
if (i == 4) {
System.out.println("密码三次输入错误,该账号已锁定,请携带身份证到营业厅解锁!");
boo = false;
break;
} else {
System.out.println("密码输入错误,请重新输入:");
passWord = in.nextInt();
continue;
}
}
}
} else {
System.out.println("该账号不存在!");
welcom();
}
}


public void logon() {
System.out.println("请输入您要注册的账号,仅限8位以下数字");
int id = in.nextInt();
while (true) {
if (map.containsKey(id)) {
System.out.println("该账号已存在,请重新输入");
id = in.nextInt();
continue;
} else {
System.out.println("请输入密码:");
int passWord = in.nextInt();
System.out.println("请再次输入密码:");
int passW = in.nextInt();
while (true) {
if (passW == passWord) {
System.out.println("注册成功");
map.put(id, passWord);
welcom();
break;
} else {
System.out.println("两次密码输入不同 ,请重新输入秘密:");
passWord = in.nextInt();
System.out.println("请再次输入密码:");
passW = in.nextInt();
continue;
}
}
break;
}
}
}
}

你可能感兴趣的:(学习)