第三周Q6银行账户测试

问题描述:

 

Q6 Design a class named Account that contains:

  • A private int data field named id for the account (default 0).
  • A private double data field named balance for the account (default 0).
  • A private double data field named annualInterestRate that stores the current interest rate (default 0). Assume all accounts have the same interest rate.
  • A private Date data field named dateCreated that stores the date when the account was created.
  • A no-arg constructor that creates a default account.
  • A constructor that creates an account with the specified id and initial balance.
  • The accessor and mutator methods for id, balance, and  annualInterestRate.
  • The accessor method for dateCreated .
  • A method named getMonthlyInterestRate() that returns the monthly interest rate.
  • A method named getMonthlyInterest() that returns the monthly interest.
  • A method named withdraw that withdraws a specified amount from the account.
  • A method named deposit that deposits a specified amount to the account.

Draw the UML diagram for the class and then implement the class. (Hint: The method getMonthlyInterest() is to return monthly interest, not the interest rate.  Monthly interest is balance * monthlyInterestRate.  monthlyInterestRate is annualInterestRate / 12 . Note that annualInterestRate is a percentage, e.g., like 4.5%. You need to divide it by 100.)

Write a test program that creates an Account object with an account ID of 1122, a balance of 20,000, and an annual interest rate of 4.5%. Use the withdraw method to withdraw 2,500, use the deposit method to deposit 3,000, and print the balance, the monthly interest, and the date when this account was created.

 

 

测试代码: 

import java.util.*;
public class Account {
	
	private int id;
	private double balance;
	private double annualInterestRate;
	private Date dateCreated = new Date();
	
	Account(){
		
	}
	Account(int id,double balance){
		this.id=id;
		this.balance=balance;
	}
	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 String getDateCreate() {
		return dateCreated.toString();
	}
	
	public double getMonthlyInterestRate() {
		return balance*(getAnnualInterestRate()/100/12);
	}
	public double withdraw(double wd) {
		return wd;
	}
	public double deposit(double dp) {
		return dp;
	}
	
}

public class TestAccount {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Account a = new Account(1122,2000);
		double newBallance = 0;
		a.setAnnualInterestRate(4.5);
		newBallance = a.getBalance()-a.withdraw(2500)+a.deposit(3000);
		System.out.println("The balance of the account is: "+newBallance);
		System.out.println("The monthly interest is "+ a.getMonthlyInterestRate());
		System.out.println("The date when this account was created: "+a.getDateCreate());
	}

}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值