对象数组(模拟银行)

对象数组(模拟银行)

  1. 按照如下的 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);
	}
	
	
	
}
  1. 按照如下的 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;
	}
	
	
}

  1. 按照如下的 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;
	}
	
	
	
}

  1. 创建 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
	}
}
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值