java面向对象11综合练习 账户建立和操作

建立账户类,封装属性:ID,余额,利率
提供相应接口,提供存取款方法,加入判断限制

package bank;

public class Account{
 private int id;
 private double balance;
 private double annualInterestRate;
 public Account() {
	 
 }
 public Account(double balance) {
	 
 }
 public Account(int id,double balance,double annualInterestRate) {
	 this.id = id;
	 this.balance = balance;
	 this.annualInterestRate = annualInterestRate;
 }

public int getId() {
	return id;
}

public void setId(int id) {
	this.id = id;
}

public double getBalance() {
	return balance;
}

public void setBalance(double balance) {
	this.balance = balance;
}

public double getAnnualInterestRate() {
	return annualInterestRate;
}

public void setAnnualInterestRate(double annualInterestRate) {
	this.annualInterestRate = annualInterestRate;
}
 public void withdraw(double amount) {
	 if(amount <= this.balance){
	 this.balance -= amount;
	 System.out.println("成功取出" + amount);
	 }else {
		 System.out.println("余额不足,取款失败");
	 }
 }
 public void deposit(double amount) {
	 if(amount > 0) {
	 this.balance += amount;
	 System.out.println("成功存入" + amount);
	 
	 }
 }
 
}

建立客户资料类,封装属性:姓名,账户,提供相应接口。
提供输出客户信息的方法

package bank;

public class Customer {
     private String firstName;
     private String lastName;
     private Account acc;
     
     public Customer() {
    	 
     }
     public Customer(String firstName,String lastName) {
    	 this.firstName = firstName;
    	 this.lastName  = lastName;
     }
	public String getFirstName() {
		return firstName;
	}
	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}
	public String getLastName() {
		return lastName;
	}
	public void setLastName(String lastName) {
		this.lastName = lastName;
	}
	public Account getAccount() {
		return acc;
	}
	public void setAccount(Account acc) {
		this.acc = acc;
	}
    public void getInfo() {
    	System.out.println("客户" + getFirstName() + " " + getLastName()
	 + "的余额是:" + getAccount().getBalance() + ",年利率为:" + getAccount().getAnnualInterestRate() + "%。");
    } 
     
}

建立银行类,封装属性:客户数组,账户数组,客户数量
提供增加客户的方法,输出客户数量的方法,调取客户对象的方法

package bank;

public class Bank {
 private Customer[] customers;
 private int numberOfCustomer;
 private Account[] acc;
 public Bank() {
	 
 }
 public void addCustomer(String firstName,String lastName) {
	 numberOfCustomer++;//客户数量加1
	 if(numberOfCustomer <= 9999) {
	 Customer[] customers1 = new Customer[numberOfCustomer];//创建新客户数组
	 Account[] acc1 = new Account[numberOfCustomer];//创建新账户数组
	 customers1[numberOfCustomer - 1] = new Customer();
	 acc1[numberOfCustomer - 1] = new Account();
	 customers1[numberOfCustomer - 1].setAccount(acc1[numberOfCustomer - 1]);//新客户关联新账户	 
	 customers1[numberOfCustomer - 1].setFirstName(firstName);
	 customers1[numberOfCustomer - 1].setLastName(lastName);
	 for (int i = 0; i < acc1.length - 1; i++) {
		acc1[i] = acc[i];
	}
	 acc = acc1;//更新客户数组
	 for (int i = 0; i < customers1.length - 1; i++) {
		customers1[i] = customers[i];
	}
	 customers = customers1;//更新账户数组
	 }else {
		 System.out.println("客户容量超出上限9999");
		 return;
	 }
 }
 public int getNumberOfCustomer() {
	 
	 return numberOfCustomer;
 }
 public Customer getCustomer(int index) {
	 if(index >= 0 && index < numberOfCustomer) {	 
	 return this.customers[index];
	 }else {
		 System.out.println("客户ID异常,重新输入");
		 return null;
	 }
 } 
}

建立测试类,测试功能

package bank;

public class Test {
public static void main(String[] args) {
	Customer c = new Customer("jack","Li");
	Account acc = new Account(101, 2000, 3.47);
	c.setAccount(acc);
	c.getAccount().deposit(100);
	c.getAccount().withdraw(1980);
	c.getAccount().withdraw(200);
	System.out.println("客户" + c.getFirstName() + " " + c.getLastName()
	 + "的余额是:" + c.getAccount().getBalance() + ",年利率为:" + c.getAccount().getAnnualInterestRate() + "%。");
    Bank b = new Bank();
    b.addCustomer("A", "Li");
    b.getCustomer(0).getAccount().setBalance(1000);
    b.getCustomer(0).getAccount().setAnnualInterestRate(3.34);
    b.getCustomer(0).getInfo();
    System.out.println(b.getNumberOfCustomer());
    b.addCustomer("B", "Li");
    b.getCustomer(1).getAccount().setBalance(2000);
    b.getCustomer(1).getAccount().setAnnualInterestRate(3.34);
    b.getCustomer(0).getInfo();
    b.getCustomer(1).getInfo();
    System.out.println(b.getNumberOfCustomer());
    b.addCustomer("C", "Li");
    b.getCustomer(2).getAccount().setBalance(3000);
    b.getCustomer(2).getAccount().setAnnualInterestRate(3.34);
    b.addCustomer("D", "Li");
    b.getCustomer(3).getAccount().setBalance(5000);
    b.getCustomer(3).getAccount().withdraw(1000);
    b.getCustomer(3).getAccount().setAnnualInterestRate(3.34);
    for (int i = 0; i < b.getNumberOfCustomer(); i++) {
		b.getCustomer(i).getInfo();
	}
}
}
发布了47 篇原创文章 · 获赞 1 · 访问量 1066

猜你喜欢

转载自blog.csdn.net/wisdomcodeinside/article/details/104067487
今日推荐