对象数组(模拟银行)
- 按照如下的 UML 类图,创建相应的类,提供必要的结构
在提款方法 withdraw()中,需要判断用户余额是否能够满足提款数额的要求,如果不能,
应给出提示。deposit()方法表示存款
Account.java
package com.zhkey.OOPExer5;
/*
*
* 在提款方法 withdraw()中,需要判断用户余额是否能够满足提款数额的要求,如果不能,
应给出提示。deposit()方法表示存款。
*/
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("成功存入:" + amt);
}
}
//提款
public void withdraw(double amt) {
if(amt > balance) {
System.out.println("余额不足,提款失败");
return;
}
balance-=amt;
System.out.println("成功取出:" + amt);
}
}
- 按照如下的 UML 类图,创建相应的类,提供必要的结构
Customer.java
package com.zhkey.OOPExer5;
public class Customer {
private String firstname;
private String lastname;
private Account account;
public Customer(String firstname, String lastname) {
this.firstname = firstname;
this.lastname = lastname;
}
public Account getAccount() {
return account;
}
public void setAccount(Account account) {
this.account = account;
}
public String getFirstname() {
return firstname;
}
public String getLastname() {
return lastname;
}
}
- 按照如下的 UML 类图,创建相应的类,提供必要的结构
addCustomer 方法必须依照参数(姓,名)构造一个新的 Customer 对象,然后把
它放到 customer 数组中。还必须把 numberOfCustomer 属性的值加 1。
getNumOfCustomers 方法返回 numberofCustomers 属性值。
getCustomer 方法返回与给出的 index 参数相关的客户。
Bank.java
package com.zhkey.OOPExer5;
public class Bank {
private Customer[] customers;//存放多个客户的数组
private int numberOfCustomer;//记录客户的个数
public Bank() {
customers = new Customer[10];//数组初始化
}
//addCustomer 方法必须依照参数(姓,名)构造一个新的 Customer 对象,然后把
//它放到 customer 数组中。还必须把 numberOfCustomer 属性的值加 1。
public void addCustomer(String f,String l) {
Customer cust = new Customer(f, l);
// customer[numberOfCustomer] = cust;
// numberOfCustomer++;
//或
customers[numberOfCustomer++] = cust;
}
//获取客户的个数
public int getNumberOfCustomer() {
return numberOfCustomer;
}
//获取指定位置上的客户
public Customer getCustomer(int index) {
if(index >= 0 && index < numberOfCustomer)
return customers[index];
return null;
}
}
- 创建 BankTest 类,进行测试。
BankTest.java
package com.zhkey.OOPExer5;
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.getNumberOfCustomer());//2
}
}