package nnn;
import java.util.*;
public class ATM {
User use1 = new User();
Users user1 = new Users();
Users user2 = new Users();
ATMutil util = new ATMutil();
Bank bank = new Bank();
Scanner scanner = new Scanner(System.in);
public void start() {
boolean fly = true;
System.out.println("===========================");
System.out.println("*****欢迎进入ATM自助系统****");
System.out.println("===========================");
while (fly) {
System.out.println("《《《《1.开户》》》》");
System.out.println("《《《《2.插卡》》》》");
System.out.println("《《《3.系统管理》》》");
System.out.println("《《4.返回上级菜单》》");
System.out.println(" 请选择菜单: ");
int choice = scanner.nextInt();
switch (choice) {
case 1:
use1 = util.getCardNum();
bank.add(use1);
break;
case 2:
boolean f2;
while (true) {
user1.cardNum = user1.getCardNum();
user1.pwd = user1.getPwd();
f2 = bank.findUserNameAndPwd(user1.cardNum, user1.pwd);
if (f2 == false) {
continue;
}
break;
}
this.loginSuc(user1);
break;
case 3:
this.adminMenu();
break;
case 4:
fly=false;
break;
default:
break;
}
}
}
public void adminMenu() {
String aaa;
System.out.println("请输入管理员密码:");
String mima = scanner.next();
if (mima.equals("123456")) {
int in1 = 0;
while (in1 == 0) {
System.out.println("《《1.查看所有的用户》");
System.out.println("《《2.冻结账户》》》》");
System.out.println("《《3.恢复账户》》》》");
System.out.println("《《4.退出系统》》》》");
System.out.println(" 请选择菜单: ");
int choice = scanner.nextInt();
switch (choice) {
case 1:
System.out.println(" " + "卡号 " + " 余额"+" 用户状态");
for (int i2 = 0; i2 < bank.i; i2++) {
System.out.print(bank.cardNum[i2] + " ");
if (bank.flag[i2] == 1) {
aaa = "正常用户";
} else {
aaa = "冻结用户";
}
System.out.println(bank.money[i2] + " " + aaa);
}
break;
case 2:
System.out.println("请输入需要冻结的账户:");
String aa = scanner.next();
bank.addBlackList(aa);
break;
case 3:
System.out.println("请输入需要恢复的账户:");
String aa1 = scanner.next();
bank.getUserFromBlackList(aa1);
break;
case 4:
System.out.println("退出系统");
in1 = 1;
break;
default:
break;
}
}
}else {
System.out.println("密码错误无权访问");
}
}
public void insertCard() {
Users user = new Users();
String card = user.getCardNum();
String num = user.getPwd();
}
public void loginSuc(Users user) {
int in = 0;
int po=0;
po=bank. selectno(user.cardNum);
if (bank.flag[po]==0) {System.out.println("禁止访问");
}else{
while (in == 0) {
System.out.println("《《《1.查看余额》");
System.out.println("《《《2.存款》》》");
System.out.println("《《《3.转帐》》》");
System.out.println("《《《4.退出系统》");
System.out.println(" 请选择菜单: ");
int choice = scanner.nextInt();
switch (choice) {
case 1:
float yu = bank.yue(user.cardNum);
System.out.println("账户 :" + user.cardNum + " 余额 :"
+ yu);
break;
case 2:
user.setMoney(user1.cardNum);
break;
case 3:
System.out.println("请输入要转入的账户:");
String num = scanner.next();
float a = user.getMoney(user.cardNum);
user.setMoney1(num, a);
break;
case 4:
in = 1;
System.out.println("退出系统");
break;
default:
break;
}
}}
}
}
package nnn;
import java.util.Random;
import java.util.Scanner;
public class ATMutil {
static Bank bank = new Bank();
static Scanner scanner = new Scanner(System.in);
static int add = 0;
public static User getCardNum() {
User use2 = new User();
boolean flag = true;
Random rd = new Random();
String carNum = "" + rd.nextInt(9999) * 10000 + add++;
System.out.println("系统为你生成的卡号为:" + carNum);
while (flag) {
System.out.println("请输入密码:");
String pwd = scanner.next();
System.out.println("请确认输入密码:");
String pwd1 = scanner.next();
if (pwd.equals(pwd1)) {
System.out.println("开户成功!现在是否存款 (Y/N)");
String YN = scanner.next();
if (YN.toUpperCase().equals("Y")) {
System.out.println("请输入存款金额:");
Float money = scanner.nextFloat();
use2.money = money;
bank.money[bank.i] = money;
} else {
use2.money = (float) 0;
bank.money[bank.i] = (float) 0;
}
use2.pwd = pwd;
use2.cardNum = carNum;
bank.pwd[bank.i] = pwd;
bank.cardNum[bank.i] = carNum;
break;
} else {
System.out.println("你的两次输入密码不一致请重新输入");
flag = true;
}
}
return use2;
}
}
package nnn;
import javax.swing.text.StyledEditorKit.ForegroundAction;
public class Bank {
public static int i = 0;
static Float[] money = new Float[100];
static String[] cardNum = new String[100];
static String[] pwd = new String[100];
static int[] flag = new int[100];
public void add(User use8) {
cardNum[i] = use8.cardNum;
pwd[i] = use8.pwd;
money[i] = use8.money;
flag[i] = 1;
i++;
}
public void addBlackList(String user) {
for (int i1 = 0; i1 < i; i1++) {
if (cardNum[i1].equals(user)) {
flag[i1] = 0;
}
}
}
public Users getUserFromUserList(String cardNumf) {
Users user = new Users();
for (int k = 0; k < i; k++) {
if (cardNum[k].equals(cardNumf) && flag[k] == 1) {
user.cardNum = cardNum[k];
user.pwd = pwd[k];
user.money = money[k];
flag[k] = 0;
}
}
return user;
}
public void getUserFromBlackList(String cardNumf) {
for (int k = 0; k < i; k++) {
if (flag[k] == 0) {
if (cardNum[k].equals(cardNumf)) {
flag[k] = 1;
}
}
}
}
public boolean findUserNameAndPwd(String cardNumf, String pwdf) {
boolean f1 = true;
for (int aa = 0; aa < i; aa++) {
if (cardNum[aa].equals(cardNumf)) {
if (flag[aa] == 0) {
System.out.println("此用户为冻结用户");
break;
}
if (pwd[aa].equals(pwdf)) {
System.out.println("成功登陆");
f1 = true;
} else {
System.out.println("用户名密码不匹配");
f1 = false;
continue;
}
}
}
return f1;
}
public float yue(String a) {
float b = 0;
for (int i5 = 0; i5 < i; i5++) {
if (a.equals(cardNum[i5])) {
b = money[i5];
}
}
return b;
}
public int selectno(String a) {
int aa = 0;
for (int i6 = 0; i6 < i; i6++) {
if (cardNum[i6].equals (a)) {
aa = i6;
}
}
return aa;
}
}
package nnn;
public class main {
Bank bank = new Bank();
public static void main(String[] args) {
ATM atm = new ATM();
atm.start();
}
}
package nnn;
import java.util.*;
public class Users {
Bank bank = new Bank();
String cardNum;
String pwd;
float money;
public String getCardNum() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你的银行卡账号");
this.cardNum = scanner.next();
return this.cardNum;
}
public void setCardNum(String cardNum) {
this.cardNum = cardNum;
}
public String getPwd() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你的密码 :");
String pwd = scanner.next();
return pwd;
}
public void setMoney(String cardNum4) {
Scanner scanner = new Scanner(System.in);
int i9 = bank.selectno(cardNum4);
System.out.println("请输入存款金额:");
float a = scanner.nextFloat();
bank.money[i9] = bank.money[i9] + a;
}
public void setMoney1(String cardNum4, float a) {
int i9 = bank.selectno(cardNum4);
bank.money[i9] = bank.money[i9] + a;
}
public float getMoney(String cardNum2) {
Scanner scanner = new Scanner(System.in);
int i9 = bank.selectno(cardNum2);
System.out.println("请输入金额:");
this.money = scanner.nextFloat();
bank.money[i9] = bank.money[i9] - this.money;
return this.money;
}
}
package nnn;
public class User {
static String cardNum;
static String pwd;
static float money;
}