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
小恐龙
花!
上一篇
下一篇