一个简单的银行bank系统(运用了对象数组和链式编程)

题目

一个简单的银行bank系统(运用了对象数组和链式编程)
一个简单的银行bank系统(运用了对象数组和链式编程)

Account.java 账户类

public class Account {
     //属性 余额
    private double balance;//默认为0
    //构造器
    public Account(double init_balance){
        this.balance = init_balance;
    }
    //显示余额
    public double getBalance(){
        return balance;
    }
    //存钱操作
    public void deposit(double amt){
        if(amt > 0){
            balance += amt;
            System.out.println("存钱成功");
        }
    }
    //取钱操作
    public void withdraw(double amt){
        if(balance >= amt){
            balance -= amt;
            System.out.println("取钱成功");
        }else{
            System.out.println("余额不足");
        }
    }
}


Bank.java 银行

public class Bank {

    private Customer[] customers;// 存放多个客户的数组
    private int numberOfCustomers;// 记录客户的个数
    //构造器 给数组定义10个长度
    public Bank() {
        customers = new Customer[10];
    }
    // 添加客户
    public void addCustomer(String f, String l) {
        Customer cust = new Customer(f, l);
        // customers[numberOfCustomers] = cust;
        // numberOfCustomers++;
        // 或
        //customers[numberOfCustomers++]是空指针,现在被赋予了cust的地址值,,不是空指针了。
        customers[numberOfCustomers++] = cust;
    }
    // 获取客户的个数
    public int getNumOfCustomers() {
        return numberOfCustomers;
    }
    // 获取指定位置上的客户
    public Customer getCustomer(int index) {
        // return customers[index];//可能报异常: 数组越界 空指针啥的
        if (index >= 0 && index < numberOfCustomers) {
            return customers[index];
        }
        //否则返回空
        return null;
    }
}

Customer.java 客户类

public class Customer {

    private String firstName;
    private String lastName;
    private Account account;
    //构造器
    public Customer(String f, String l) {
        this.firstName = f;
        this.lastName = l;
    }
    //返回余额
    public Account getAccount() {
        return account;
    }
    //设置余额
    public void setAccount(Account account) {
        this.account = account;
    }
    //返回firstName
    public String getFirstName() {
        return firstName;
    }
    //返回lastName
    public String getLastName() {
        return lastName;
    }

}

BankTest.java 银行测试类

public class BankTest {
    public static void main(String[] args) {

        Bank bank = new Bank();

        bank.addCustomer("Jane", "Smith");
        //连续操作
        bank.getCustomer(0).setAccount(new Account(2000));

        bank.getCustomer(0).getAccount().withdraw(500);

        double balance = bank.getCustomer(0).getAccount().getBalance();
        System.out.println("客户:" + bank.getCustomer(0).getFirstName() + "的账户余额为:" + balance);

        System.out.println("***********************");
        bank.addCustomer("万里", "杨");

        System.out.println("银行客户的个数为:" + bank.getNumOfCustomers());


    }
}


结果

一个简单的银行bank系统(运用了对象数组和链式编程)

上一篇:用面向对象的方法模仿消息的订阅器与发布器


下一篇:MyBatic与Spring的整合,Mapper接口方式的开发