ATM小项目java实现 面向对象思想

package CL8_ATMpackage;

/**
 * @author: 贾兴伟
 * @date: Created in 20:35 2020/10/10
 */
public class TestDemo {
    public static void main(String[] args) {
        ATM atm = new ATM();
        atm.start();
    }
}
package CL8_ATMpackage;

import java.util.Scanner;

/**
 * @author: 贾兴伟
 * @date: Created in 20:39 2020/10/10
 */
public class ATM {
    private Bank bank;
    public ATM(){
        bank = new Bank();
    }

    private boolean register(int id,int passwd){
        return bank.add(id,passwd);
    }
    private BankCard login(int id,int passwd){
        return bank.reserch(id,passwd);
    }

    public void start(){
        System.out.println("请输入1、登录,2、注册,3、退出");
        Scanner scanner = new Scanner(System.in);
        int chioce = scanner.nextInt();
        if(chioce==3){
            return ;
        }
        System.out.println("请输入账号密码");
        int id = scanner.nextInt();
        int passwd = scanner.nextInt();
        switch (chioce){
            case 1:
                BankCard card = login(id,passwd);
                if(card!=null){
                    System.out.println("登录成功");
                    bank.loginSuccess(card);
                }else{
                    System.out.println("登录失败");
                }
                break;
            case 2:
                if(register(id,passwd)){
                    System.out.println("注册成功请登录");
                    start();
                }else {
                    System.out.println("注册失败");
                }
                break;
        }
    }
}
package CL8_ATMpackage;

import java.util.Arrays;
import java.util.Scanner;

/**
 * @author: 贾兴伟
 * @date: Created in 21:06 2020/10/10
 */
public class Bank {
    private BankCard[] cards;
    private int size;
    private static final int INITSIZE = 10;
    private static Scanner scanner= new Scanner(System.in);
    public Bank(){
        this(INITSIZE);
    }
    public Bank(int num){
        cards = new BankCard[num];
    }
    public void ensureCapatity(){
        if(cards.length==size){
            Arrays.copyOf(cards,cards.length+(cards.length>>1));
        }
    }
    public boolean add(int id,int passwd){
        BankCard card = reserch(id,passwd);
        if(card!=null){
            return false;
        }
        ensureCapatity();
        cards[size++] = new BankCard(id,passwd);
        return true;
    }
    public BankCard reserch(int id,int passwd){
        for(int i =0;i<size;i++){
            if(cards[i].getId()==id&&cards[i].getPasswd()==passwd){
                return cards[i];
            }
        }
        return null;
    }
    public void loginSuccess(BankCard card){
        System.out.println("请输入1存款2取款3转账4查余额5退出");
        int chioce = scanner.nextInt();
        if(chioce==5){
            return;
        }
        switch (chioce){
            case 1:
                System.out.println("请输入存款金额");
                int money = scanner.nextInt();
                card.save(money);
                loginSuccess(card);
                break;
            case 2:
                System.out.println("请输入取款金额");
                money = scanner.nextInt();
                card.withdraw(money);
                loginSuccess(card);
                break;
            case 3:
                System.out.println("请输入转账id和密码");
                int id = scanner.nextInt();
                int passwd = scanner.nextInt();
                BankCard card2 = reserch(id,passwd);
                if(card2!=null){
                    System.out.println("请输入转账金额");
                    money = scanner.nextInt();
                    card.withdraw(money);
                    card2.save(money);
                }else{
                    System.out.println("没有这个账号");
                }
                loginSuccess(card);
                break;
            case 4:
                int banlance = card.getMoney();
                System.out.println(banlance);
                loginSuccess(card);
                break;
        }
    }

}
package CL8_ATMpackage;

/**
 * @author: 贾兴伟
 * @date: Created in 21:01 2020/10/10
 */
public class BankCard {
    private int id;
    private int passwd;
    private int money;

    public int getMoney() {
        return money;
    }

    public int getId() {
        return id;
    }

    public int getPasswd() {
        return passwd;
    }
    public BankCard(int id,int passwd){
        this.id = id;
        this.passwd=passwd;
    }
    public void save(int money){
        this.money+=money;
    }
    public void withdraw(int money){
        this.money-=money;
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值