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;
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_47198561/article/details/109061046