4-9面向对象编程(上)----综合练习2--对象数组

该博客展示了如何使用Java编程实现一个简单的银行系统,包括Account类、Customer类和Bank类。Account类包含存款和取款功能,Customer类关联了客户姓名和账户,Bank类则用于管理多个客户。在BankTest类中,创建了银行实例,添加了客户并进行了账户操作,如开户、存款、取款,最后输出了客户的账户余额。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Account类:

public class Account {
 private double balance;

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("余额不足");
  }
 }//取钱
}

Customer类:

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;
 }
 public String getFirstName() {
  return firstName;
 }
 public String getLastName() {
  return lastName;
 }
}

Bank类:

public class Bank {
 private Customer[] customers;//存放多个客户的数组
 private int numberOfCustomers;//记录客户的个数
 public Bank() {
  customers = new Customer[10];//进行初始化,如果数组里是null,则无法进行赋值
 }
 //添加客户
 public void addCustomer(String f,String l) {
  Customer cust = new Customer(f,l);
//  customers[numberOfCustomers] = cust;
//  numberOfCustomers++;
  customers[numberOfCustomers++] = cust;//合并成一个
 }
 //获取客户的个数
 public int getNumCustomers() {
  return numberOfCustomers;
 }
 //获得指定位置上的客户
 public Customer getCustomer(int index) {
//  return customers[index];//可能报异常
  if(index >= 0 && index < numberOfCustomers) {
   return customers[index];
  }
  return null;
 }
}

BankTest:

public class BankTest {
 public static void main(String[] args) {
  Bank bank = new Bank();
  bank.addCustomer("Janc", "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("mis", "cheng");
  System.out.println("银行客户的个数为:" + bank.getNumCustomers());
 }
}

输出:

取钱成功
客户:Janc,账户余额为:1500.0
*********************************************
银行客户的个数为:2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YY鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值