ATM系统项目的实现

具体实现的功能如下:

 

 

部分模块未实现,简单懒得写:
功能模块:
package com.MLq.ATMOS;

import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;

/**
* ATM系统
*/
public class BankUi {
public static void main(String[] args) {
ArrayList<Account> account=new ArrayList<>();
Scanner sc=new Scanner(System.in);
while (true) {
System.out.println(".................欢迎来到MLQ的ATM系统......................");
System.out.println(" 1、登录账户");
System.out.println(" 2、注册账户");
System.out.println(" 3、结束系统操作");
System.out.println(".....................请输入你的选择..................");
int commend=sc.nextInt();
if (commend!=3) {
switch (commend){
case 1:
login(account,sc);//登录方法
break;
case 2:
register(account,sc);//注册方法
break;
default:
System.out.println("你输入的操作不存在!!");
}
}
else {
System.out.println("此次的操作结束!!");
break;
}
}
}

/**
*注册API的实现
* @param account 账户对象
* @param sc 输入对象
*/
private static void register(ArrayList<Account> account, Scanner sc) {
System.out.println(".................欢迎来到MLQ的ATM系统注册界面......................");
//账号获取
Account account2=new Account();
while (true) {
String cardId="";
Random r=new Random();
for (int i = 0; i <8 ; i++) {
cardId+=r.nextInt(10);
}
//账户判断是否重复
if (IsId(account,cardId)==null) {
System.out.println("你的账号是:" + cardId);
account2.setId(cardId);//添加账户号
break;
}
}
System.out.println("请输入你的账户名:");
String str=sc.next();
account2.setName(str);
//密码及账户录入模块
while (true) {
System.out.println("请输入你的密码:");
String password1=sc.next();
System.out.println("请再次确认你的密码:");
String passoword2=sc.next();
if(passoword2.equals(password1)) {
account2.setPassword(password1);
account.add(account2);
break;
}
else{
System.out.println("两次密码输入不一致!!请重新输入密码!!");
}
}
System.out.println("你已经注册成功!!可以在登陆界面进行登录!!");
}

/**
* 账户号的查询
* @param account 账户对象
* @param cardId 账户号
* @return 账户对象
*/
private static Account IsId(ArrayList<Account> account, String cardId) {
for (int i = 0; i < account.size() ; i++) {
Account account3=account.get(i);
if(account3.getId().equals(cardId))
return account3;
}
return null;
}

/**
*登录API的实现
* @param account 账户对象
* @param sc 输入对象
*/
private static void login(ArrayList<Account> account, Scanner sc) {
System.out.println(".................欢迎来到MLQ的ATM系统登录界面......................");
//System.out.println(account.get(0).getId()+account.get(0).getName()+account.get(0).getMoney());
System.out.println(" 请输入你的账户号:");
String cardId=sc.next();
if(IsId(account,cardId)!=null) {
System.out.println(" 请输入你的密码:");
String password3 = sc.next();
if(IspassWord(account,password3)) {
System.out.println("登陆成功!!");
while (true) {
System.out.println(".................欢迎来到MLQ的ATM系统登录界面......................");
System.out.println(" 1、查询");
System.out.println(" 2、存款");
System.out.println(" 3、转账");
System.out.println(" 4、取款");
System.out.println(" 5、退出");
System.out.println(".....................请输入你的选择..................");
int commend=sc.nextInt();
if (commend==5){
System.out.println("返回上一层!!");
break;
}
else {
switch (commend) {
case 1://查询
break;
case 2://存款
break;
case 3://转账
break;
case 4://取款
break;
default://无效的命令

}
}
}
}
}

}

/**
* 账户密码的查询
* @param account 账户对象
* @param password3 账户密码
* @return 布尔值
*/
private static boolean IspassWord(ArrayList<Account> account, String password3) {
for (int i = 0; i < account.size() ; i++) {
Account account4=account.get(i);
if(account4.getPassword().equals(password3))
return true;
}
return false;
}

}
功能模块可以继续封装;

 账户对象:

package com.MLq.ATMOS;

/**
* 账户对象
*/
public class Account {
private String name;
private String id;
private String password;
private double money;

public Account() {

}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

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 Account(String name, String id, String password, double money) {
this.name = name;
this.id = id;
this.password = password;
this.money = money;
}
}

 

posted @ 2022-03-20 16:13  Mexcellent  阅读(65)  评论(0)    收藏  举报