ATM系统

本文介绍了使用Java编写的ATM系统,包括用户登录和开户功能。在开户流程中,用户输入账户信息如名称、性别、密码和取现限额,系统进行验证并添加新账户。
摘要由CSDN通过智能技术生成
import java.util.ArrayList;
import java.util.Scanner;

//编写一个ATM类,负责对每一个账户对象进行管理
public class ATM {
    private Scanner sc = new Scanner(System.in);
    private ArrayList<Account> accounts = new ArrayList<>();
    //启动ATM系统,展示欢迎界面
    public void start() {
        System.out.println("---欢迎您进入到ATM系统---");
        System.out.println("1.用户登录");
        System.out.println("2.用户开户");
        System.out.println("请输入您的选择:");
        int command = sc.nextInt();
        switch (command) {
            case 1:
                System.out.println("进入登陆功能");
                break;
            case 2:
                System.out.println("进入开户功能");
                break;
            default:
                System.out.println("没有该操作");
        }
    }
    //开户功能的实现
    private void createAccount() {
        System.out.println("---系统开户操作---");
        //        步骤如下:
//
//> -  1、创建一个账户对象,用于封装用户的开户信息
        Account acc = new Account();
//     2、需要用户输入自己的开户信息,赋值给账户对象
        System.out.println("请输入您的账户名称:");
        acc.setUserName(sc.next());
//     >   - 输入账户名,设置给账户对象
//     >   - 输入性别,如果性别是`'男'`或者`'女'`,将性别设置给账户对象;否则重新录入性别知道录入正确为止。
        while (true) {
            System.out.println("请输入您的性别:");
            char sex = sc.next().charAt(0);
            if(sex == '男' || sex == '女') {
                acc.setSex(sex);
                break;
            }
            else{
                System.out.println("您输入的性别有误~只能是男或者女~");
            }
        }
//>   - 输入账户、并且输入两次密码,只有两次密码相同,才将账户和密码设置给账户对象。
        while (true) {
            System.out.println("请您输入您的账户密码:");
            String passWord = sc.next();
            System.out.println("请您输入您的确认密码:");
            String okpassWord = sc.next();
            if(okpassWord.equals(passWord)) {
                acc.setPassWord(okpassWord);
                break;
            }else {
                System.out.println("您输入的2次密码不一致,请重新输入");
            }
        }
//>   - 输入提现限额,并且设置给账户对象
        System.out.println("请您输入您的取现额度:");
        double limit = sc.nextDouble();
        acc.setLimit(limit);
// > - 3、输出开户成功,的提示语句。
        accounts.add(acc);
        System.out.println("恭喜您," + acc.getUserName() + "开户成功,您的卡号是:" + acc.getCardId());
     }
    }

//首先可以设计一个Account类,来描述账户对象需要封装哪些数据
public class Account {
    private String cardId;
    private String userName;
    private char sex;
    private String passWord;
    private double money;
    private double limit; // 限额

    public String getCardId() {
        return cardId;
    }

    public void setCardId(String cardId) {
        this.cardId = cardId;
    }

    public String getUserName() {
        return userName + ( sex  == '男' ? "先生" : "女士");
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public char getSex() {
        return sex;
    }

    public void setSex(char sex) {
        this.sex = sex;
    }

    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 getLimit() {
        return limit;
    }

    public void setLimit(double limit) {
        this.limit = limit;
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值