Java案例--------(银行ATM案例)

银行ATM案例

一,需求分析

在这里插入图片描述

二,代码展示

User类代码

public class User {
    private String cardNo;
    private String identity;
    private String username;
    private String password;
    private String phone;
    private double balance;

    public User() {
    }

    public User(String cardNo, String identity, String username, String password, String phone, double balance) {
        this.cardNo = cardNo;
        this.identity = identity;
        this.username = username;
        this.password = password;
        this.phone = phone;
        this.balance = balance;
    }

    public String getCardNo() {
        return cardNo;
    }

    public void setCardNo(String cardNo) {
        this.cardNo = cardNo;
    }

    public String getIdentity() {
        return identity;
    }

    public void setIdentity(String identity) {
        this.identity = identity;
    }

    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 String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public double getBalance() {
        return balance;
    }

    public void setBalance(double balance) {
        this.balance = balance;
    }
    public void show(){
        System.out.println("卡号: "+cardNo+" 身份证号: "+identity+" 用户名: "+username+" 密码: "+password+" 电话号: "+phone+" 金额: "+balance);
    }
}

Bank类代码

public class Bank {
    static boolean flag = false;

    private  User[] users = new User[5];
    Scanner input = new Scanner(System.in);
    User user = new User();
    public void initial(){


        User user1 = new User("123456","8755447","张三","123","145244478",200.0);
        User user2 = new User("234567","8755447","李四","456","145244478",200.0);
        User user3 = new User("345678","8755447","王五","789","145244478",200.0);
        User user4 = new User("456789","8755447","赵六","567","145244478",200.0);
        User user5 = new User("567891","8755447","阿福","234","145244478",200.0);
        users[0]=user1;
        users[1]=user2;
        users[2]=user3;
        users[3]=user4;
        users[4]=user5;
    }
    public void login(){
        Scanner input = new Scanner(System.in);
        System.out.println("请输入卡号");
        String n = input.next();
        System.out.println("请输入密码");
        String m = input.next();
        for (int i = 0; i < 5; i++) {
            if (users[i].getCardNo().equals(n)&&users[i].getPassword().equals(m)){
                System.out.println("登录成功!");
                user = users[i];
                flag = true;
                break;
            }

        }
        if(!flag){
            System.out.println("登录失败!");
        }

    }
    public void showMenu(){
        System.out.println("-------------------欢迎进入ATM机系统-----------------------");
        login();
        label:do{

            System.out.println("----------1存款  2取款  3转账  4查询余额  5修改密码  0退出-----------------------");

            System.out.println("请选择");
            int choice=input.nextInt();
            switch (choice){
                case 1:
                    save();
                    break;
                case 2:
                    withDraw();
                    break;
                case 3:
                    trans();
                    break;
                case 4:
                    System.out.println("查询余额展示");
                    user.show();
                    break;

                case 5:
                    modifyPassword();
                    break;
                case 0:
                    System.out.println("欢迎下次光临");
                    break label;
                default:
                    System.out.println("输入有误,请重新输入");
                    break;
            }
        }while (true);
    }

    public void withDraw(){
        System.out.println("请输入取钱的金额(元):");
        double n = input.nextDouble();
        if (n<=user.getBalance()){
            n = user.getBalance()-n;
            user.setBalance(n);
            System.out.println("取款成功");
        }else{
            System.out.println("取款的金额不够");
        }

    }
    public void save(){
        System.out.println("请输入存款金额(元):");
        double n = input.nextDouble();
        if (n>=0){
            n = user.getBalance()+n;
            user.setBalance(n);
            System.out.println("存款成功");
        }else {
            System.out.println("存款的金额不对");
        }
    }
    public void modifyPassword(){
        System.out.println("请输入原密码:");
        String password = input.next();
        if (password.equals(user.getPassword())){
            System.out.println("请输入新密码");
            String newpassword = input.next();
            System.out.println("请再次输入新密码");
            String newpassword1 = input.next();
            if (newpassword.equals(newpassword1)){
                user.setPassword(newpassword);
                System.out.println("密码修改成功");
                System.out.println("-------------------欢迎进入ATM机系统-----------------------");
                login();
            }else {
                System.out.println("两次输入的密码不一样");
            }
        }else {
            System.out.println("你输入的原密码不正确");
        }
    }
    public void trans(){
        System.out.println("请输入转账账户");
        String user1 = input.next();
        System.out.println("请输入转账的金额");
        double n = input.nextDouble();
        if (n<=user.getBalance()){
            n = user.getBalance()-n;
            user.setBalance(n);
            System.out.println("转账成功:"+n);
            for (int i = 0; i <5 ; i++) {
                if (user1.equals(users[i].getCardNo())){

                    users[i].setBalance(users[i].getBalance() + n);
                    users[i].show();
                    break;
                }

            }
        }else{
            System.out.println("转账金额不够");
        }
        for (int i = 0; i <5 ; i++) {
            if (user1==user.getCardNo()){
                double m = user.getBalance();
                m = user.getBalance()+n;
                user.setBalance(m);
                System.out.println("账户余额:"+m);
                flag = true;
                break;
            }
            if(!flag){
                System.out.println("转入账户不对");
            }
        }

    }
}

Testbank类代码

public class TestBank {
    public static void main(String[] args) {
        Bank bank = new Bank();
        bank.initial();
        bank.showMenu();
    }
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值