Object Oriented Programming Practice 2

Object Oriented Programming Practice 2

Requirment

  1. Create a class in Java that models a transaction (a withdrawal or lodgement of money) on a back account. The Transaction class should have:
    A date representing the date of the transaction (represented by a LocalDateTime object);
    A type (W or D) to represent the type of transaction (withdraw or deposit);
    An amount to represent the amount of the transaction;
    A balance to represent the new balance after the transaction;
    Add a constructor to construct a Transaction with the specified type, amount, balance and description;
    Add a toString() method to return transaction details as a String.
  2. Create a class in Java that models a BankAccount. The class should have:
    A private int data field named id;
    A private double data field named balance;
    A private data field called name of type String;
    An ArrayList of type Transaction (ArrayList<Transaction>) which stores all the transactions for the account;
    A private double data field named annualInterestRate that stores the current interest rate. All bank accounts will have the same interest rate.
    A private LocalDateTime field named dataCreated that stores the date when the account was created;
    A no-arg constructor that creates an account with the default values;
    A constructor that creates an account with a specified id and balance;
    Accessor and mutator methods for id, balance and annualInterestRate;
    An accessor method for dateCreated;
    A method getMonthlyInterestRate();
    A method named withdraw that withdraws a specified amount from an account. This method should add a transaction to the ArrayList of transactions.
    A method named deposit that deposits a specified amount in an account. This method should add a transaction to the ArrayList of transactions.

Solve

Transaction

import java.time.LocalDateTime;
public class Transaction{
LocalDateTime date;
String type;
double amount;
double balance;
Transaction()
{
}
Transaction(String type, double amount, double balance)
{
this.type = type;
this.amount = amount;
this.balance = balance;
date = LocalDateTime.now();
}
public String toString()
{
String info ="";
info+="The Type is : " + this.type + "\n";
info+="The Amount is : " + this.amount + "\n";
info+="The Balance is : " + this.balance + "\n";
info+="The time of operation is : " + this.date + "\n";
return info;
}
}

BankAccount

import java.time.*;
import java.util.*;
public class BankAccount {
private int id;
private double balance;
private String name;
ArrayList<Transaction> transactions;
private double annualInterestRate;
LocalDateTime dateCreated;
BankAccount() {
this.dateCreated = LocalDateTime.now();
this.id = 0;
this.balance = 0;
this.transactions = new ArrayList<Transaction>();
}
BankAccount(int id, double balance, String name) {
this.dateCreated = LocalDateTime.now();
this.id = id;
this.balance = balance;
this.name = name;
this.transactions = new ArrayList<Transaction>();
}
public int getId() {
return this.id;
}
public double getBalance() {
return this.balance;
}
public double getAnnualInterestRate() {
return this.annualInterestRate;
}
public LocalDateTime getDateCreated() {
return this.dateCreated;
}
public void setId(int id) {
this.id = id;
}
public void setBalance(double balance) {
this.balance = balance;
}
public void setAnnualInterestRate(double annualInterestRate) {
this.annualInterestRate = annualInterestRate;
}
public double getMonthlyInterestRate() {
return getAnnualInterestRate()/12;
}
public void withdraw(double amount) {
balance -= amount;
Transaction t = new Transaction("W", amount, this.balance);
transactions.add(t);
}
public void deposit(double amount) {
balance += amount;
Transaction t = new Transaction("D", amount, this.balance);
transactions.add(t);
}
}
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇