MyJavaCode-4

银行存取款模型

//银行存取款模型
public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Bank bank = new Bank();
		bank.addCustomer("John", "Yan");
		bank.addCustomer("Match", "shun");
		bank.addCustomer("Jane", "zhang");
		bank.getCustomer(0).setAccount(new Account(6540000));
		bank.getCustomer(9).setAccount(new Account(40000));
		bank.getCustomer(0).getAccount().deposit(150);
		bank.showInfo();
		bank.getCustomer(0).getAccount().withdraw(50);
		bank.find("Match555");
	}

}
class Bank {
	private Customer[] customers;
	private int numberOfCustomer;
	private Customer def = new Customer("", "");//定义一个默认用户,存放无用数据,防止程序报错
	public void addCustomer(String f, String l){
		Customer c = new Customer(f, l);//根据输入的名字创建一个用户
		//判断用户集合里有用户没
		if(customers == null){
			customers = new Customer[1];
			customers[0] = c;
			numberOfCustomer++;
		}else{
			//如果有,遍历用户集合,放到一个新集合里,新集合的长度比原来多一;
			Customer[] cs = new Customer[numberOfCustomer + 1];
			for(int i = 0; i < customers.length; i++){
				cs[i] = customers[i];
			}
			//将刚创建的用户加入到新用户集合中
			cs[numberOfCustomer] = c;
			//将新用户集合的地址给customers
			customers = cs;
			numberOfCustomer++;
		}
		
	}
	public int getNumOfCustomer(){
		return numberOfCustomer;
	}
	//按编号查找用户并反回
	public Customer getCustomer(int index){
		if(index < numberOfCustomer && index >= 0){
			Customer customer = customers[index];
			return customer;
		}
		System.out.println("没有对应的用户");
		return def;	
	}
	//显示所有用户的信息
	public void showInfo(){
		if(customers == null){
			System.out.println("暂时没有用户信息");
			System.out.println("---------------------------------------------");
			return;
		}
		for(int i = 0; i < customers.length; i++){
			System.out.print(i + ": ");
			customers[i].show();
		}
		System.out.println("---------------------------------------------");
	}
	//根据用户的firstName查询用户信息
	public void find(String firstName){
		if(customers != null){
			for(int i = 0; i < customers.length; i++){
				if(customers[i].getFirstName() == firstName){
					//找到用户后退出
					System.out.println("                    找到用户         ");
					customers[i].show();
					System.out.println("---------------------------------------------");
					break;
				}
				if(i == customers.length - 1){
					System.out.println("暂无用户信息");
				}
			}
		}else{
			System.out.println("暂无用户信息");
		}
	}
}
class Customer {
	private String firstName;
	private String lastName;
	private Account account;
	public Customer(String f, String l){
		firstName = f;
		lastName = l;
	}
	public String getFirstName() {
		return firstName;
	}
	public String getLastName() {
		return lastName;
	}
	public Account getAccount() {
		return account;
	}
	public void setAccount(Account account) {
		//如果已经存在账户不能创建新账户
		if(this.account != null){
			System.out.println("该用户已经存在账户了,创建失败");
			return;
		}
		this.account = account;
	}
	public void show(){
		if(this.account != null){
			System.out.println("Customer [firstName=" + firstName + ", lastName=" + lastName + ", balance=" + this.account.getBalance() + "]");
		}else{
			System.out.println("Customer [firstName=" + firstName + ", lastName=" + lastName + ", 还未创建账户]");
		}
	}
}
class Account {
	private double balance;
	public Account(double balance){
		this.balance = balance;
	}
	public double getBalance(){
		return balance;
	}
	public void deposit(double amt){
		if(amt >= 0){
			balance += amt;
			System.out.println("成功存入:" + amt + "余额为:" + balance);
			System.out.println("---------------------------------------------");
		}else{
			System.out.println("操作失败");
		}
	}
	public void withdraw(double amt){
		if(balance < amt){
			System.out.println("余额不足,取款失败");
			System.out.println("---------------------------------------------");
		}else{
			balance -= amt;
			System.out.println("成功取款:" + amt + "余额为:" + balance);
			System.out.println("---------------------------------------------");
		}
	}
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值