4-9面向对象编程(上)----综合练习1--Account与Customer

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

public class Account {
 private int id;// 账号
 private double balance;// 余额
 private double annualInterestRate;// 年利率

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 (balance < amount) {
   System.out.println("余额不足,取款失败!");
   return;
  }
  balance -= amount;
  System.out.println("成功取出:" + amount);
 }// 取钱
 public void deposit(double amount) {
  if (amount > 0) {
   balance += amount;
   System.out.println("成功存入:" + amount);
  }
 }// 存钱
}

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;
 }
}

Test类:

public class Test {
 public static void main(String[] args) {
  Customer cust = new Customer("Jane", "Smith");
  Account acct = new Account(1000, 2000, 0.0123);
  cust.setAccount(acct);

cust.getAccount().deposit(100);
  cust.getAccount().withdraw(960);
  cust.getAccount().withdraw(2000);
  System.out.println("Customer [" + cust.getLastName() + "," + cust.getFirstName() + "] has a account: id is "
    + cust.getAccount().getId() + ", annualInterestRate is "
    + cust.getAccount().getAnnualInterestRate() * 100 + "%, balance is " + cust.getAccount().getBalance());
 }
}

输出:

成功存入:100.0
成功取出:960.0
余额不足,取款失败!
Customer [Smith,Jane] has a account: id is 1000, annualInterestRate is 1.23%, balance is 1140.0

版权声明:本文为wp_886原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。