Java基础案例,ATM操作系统

ATM案例

package atmproject;

import javax.sound.midi.Soundbank;
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;

public class ATMDemo {
   
//ATM系统demo
public static void main(String[] args) {
   
    //定义一个ArraryList存储账户信息
    ArrayList<Account> accounts = new ArrayList<>();
    Scanner sc = new Scanner(System.in);
    //展示系统的首页
    while (true) {
   
        System.out.println("================三国ATM系统===================");
        System.out.println("1.账户登陆");
        System.out.println("2.账户注册");
        System.out.println("请您选择操作:");
        int command = sc.nextInt();
        switch (command){
   
            case 1://登陆操作
                login(accounts,sc);
                break;
            case 2://注册操作
                //定义一个方法(ALT+ENTER)
                register(accounts,sc);
                break;
            default:
                System.out.println("您输入的操作不存在哦~~~");
        }
    }
}

    /**
     * 登陆功能
     * @param accounts 全部账户对象的集合
     * @param sc 扫描器
     */
    private static void login(ArrayList<Account> accounts, Scanner sc) {
   
        //1.判断输入的卡号对应的对象账户是否存在
        if (accounts.size()==0){
   
            System.out.println("对不起,当前系统中无任何账户信息,请注册账户,再来登陆哦~~~");
            return;
        }
        //2.正式进入登陆操作
        while (true) {
   
            System.out.println("请输入您的登陆卡号:");
            String cardId = sc.next();
            //3.判断卡号是否存在,根据卡号去账户集合中查询账户对象
            Account acc = getAccountByCardId(cardId,accounts);
            if (acc != null){
   
                while (true) {
   
                    //卡号存在
                    //4.让用户输入密码,进行认证
                    System.out.println("请输入您的密码:");
                    String passWord = sc.next();
                    //判断当前账户对应的密码是否与输入的密码一致;
                    if (acc.getPassWord().equals(passWord)){
   
                        //登陆成功了哦
                        System.out.println("恭喜您,"+acc.getUserName()+"先生/女士进入系统,您的卡号是:"+acc.getCardId());
                        //展示登陆后的操作页面
                        showUserCommand(sc,acc,accounts);
                        return;//结束登陆方法的操作
                    }else {
   
                        System.out.println("对不起,您输入的密码有误~~~");
                    }
                }
            }else {
   
                System.out.println("对不起,系统中不存在该账户卡号~~~");
            }
        }
    }

    /**
     * 展示登录后的操作页
     */
    private static void showUserCommand(Scanner sc,Account acc,ArrayList<Account> accounts) {
   
        while (true) {
   
            System.out.println("=================用户操作页====================");
            System.out.println("1.查询账户")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值