ATM案例
public class Account {
private String cardId; // 卡号
private String userName; // 用户名称
private String passWord; // 密码
private double money; // 账户余额
private double quotaMoney; // 每次取现额度限度。
public String getCardId() {
return cardId;
}
public void setCardId(String cardId) {
this.cardId = cardId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
public double getQuotaMoney() {
return quotaMoney;
}
public void setQuotaMoney(double quotaMoney) {
this.quotaMoney = quotaMoney;
}
}
public class ATMSystem {
public static void main(String[] args) {
// 2、创建一个集合对象,用于后期存入账户对象。
ArrayList<Account> accounts = new ArrayList<>();
// 3、展示系统欢迎页面
System.out.println("======欢迎您进入到黑马ATM系统===============");
while (true) {
System.out.println("1、登录账户");
System.out.println("2、注册账户");
System.out.println("请您选择操作:");
Scanner sc = new Scanner(System.in);
int command = sc.nextInt();
switch (command){
case 1:
// 登录操作
login(accounts, sc);
break;
case 2:
// 注册账户
register(accounts, sc);
break;
default:
System.out.println("当前输入的操作不存在!");
}
}
}
/**
用户登录功能
*/
private static void login(ArrayList<Account> accounts, Scanner sc) {
System.out.println("==================欢迎您进入到登录操作======================");
if(accounts.size() > 0){
while (true) {
System.out.println("请您输入登录的卡号:");
String cardId = sc.next();
// 2、根据卡号去集合中查询是否存在账户对象
Account acc = getAccountByCardId(cardId , accounts);
// 判断账户对象是否存在,存在说明卡号正确
if(acc != null){
while (true) {
// 3、判断密码是否正确
System.out.println("请您输入登录的密码:");
String passWord = sc.next();
if(acc.getPassWord().equals(passWord)){
// 登录成功了!
System.out.println("欢迎你:" + acc.getUserName() + "先生/女士进入系统,您可开始办理你的业务了!");
// 展示登录成功后的操作界面。
showCommand(sc, acc, accounts);
return;
}else {
System.out.println("您的密码不正确!");
}
}
}else {
System.out.println("卡号不存在,请确认!");
}
}
}else {
System.out.println("当前系统无任何账户,请先注册再登录!");
}
}
/**
登录后展示的界面
*/
private static void showCommand(Scanner sc, Account acc, ArrayList<Account> accounts) {
while (true) {
System.out.println("==================欢迎您进入到操作界面======================");
System.out.println("1、查询");
System.out.println("2、存款");
System.out.println("3、取款");
System.out.println("4、转账");
System.out.println("5、修改密码");
System.out.println("6、退出");
System.out.println("7、注销账户");
System.out.println("请您输入操作命令:");
int command = sc.nextInt();
switch (command) {
case 1:
// 查询账户信息展示
showAccount(acc);
break;
case 2:
// 存款
depositMoney(acc,sc);
break;
case 3:
// 取款
drawMoney(acc,sc);
break;
case 4:
// 转账
transferMoney(acc, accounts, sc);
break;
case 5:
// 修改密码
updatePassWord(acc, sc);
return;
