Question: Store loan Objects to File ( Java I/O) -Rewrite Loan Class ( code below) to implement Serializable interface- _- Rewrite TestLoanClass to: - Read loanobjects

Store loan Objects to File ( Java I/O)

-Rewrite "Loan Class "( code below) to implement Serializable interface-

_- Rewrite TestLoanClass to:

- Read loanobjects from file by startup, if file exists.

-All read loanobjects should be stored in ArrayList. Print information on read loanobjects ,total loan amount and monthly payment.

- Ability to create new loanobjects

- Write loanobjects,all or a selection, to file at users request.

Use EOFException to stop reading in.

Use ObjectOutputStream and ObjectInputStream to store and restore objects

Classname " TestLoanClassStorage"

*Loan Class*

package chapter10;

public class Loan {

private double annualInterestRate;

private int numberOfYears;

private double loanAmount;

private java.util.Date loanDate;

/** Default constructor */

public Loan() {

this(2.5, 1, 1000);

}

/** Construct a loan with specified annual interest rate,

number of years and loan amount

*/

public Loan(double annualInterestRate, int numberOfYears,

double loanAmount) {

this.annualInterestRate = annualInterestRate;

this.numberOfYears = numberOfYears;

this.loanAmount = loanAmount;

loanDate = new java.util.Date();

}

/** Return annualInterestRate */

public double getAnnualInterestRate() {

return annualInterestRate;

}

/** Set a new annualInterestRate */

public void setAnnualInterestRate(double annualInterestRate) {

this.annualInterestRate = annualInterestRate;

}

/** Return numberOfYears */

public int getNumberOfYears() {

return numberOfYears;

}

/** Set a new numberOfYears */

public void setNumberOfYears(int numberOfYears) {

this.numberOfYears = numberOfYears;

}

/** Return loanAmount */

public double getLoanAmount() {

return loanAmount;

}

/** Set a newloanAmount */

public void setLoanAmount(double loanAmount) {

this.loanAmount = loanAmount;

}

/** Find monthly payment */

public double getMonthlyPayment() {

double monthlyInterestRate = annualInterestRate / 1200;

double monthlyPayment = loanAmount * monthlyInterestRate / (1 -

(Math.pow(1 / (1 + monthlyInterestRate), numberOfYears * 12)));

return monthlyPayment;

}

/** Find total payment */

public double getTotalPayment() {

double totalPayment = getMonthlyPayment() * numberOfYears * 12;

return totalPayment;

}

/** Return loan date */

public java.util.Date getLoanDate() {

return loanDate;

}

}

*TestLoanClass*

package chapter10;

import java.util.Scanner;

public class TestLoanClass {

/** Main method */

public static void main(String[] args) {

// Create a Scanner

Scanner input = new Scanner(System.in);

// Enter yearly interest rate

System.out.print(

"Enter yearly interest rate, for example, 8.25: ");

double annualInterestRate = input.nextDouble();

// Enter number of years

System.out.print("Enter number of years as an integer: ");

int numberOfYears = input.nextInt();

// Enter loan amount

System.out.print("Enter loan amount, for example, 120000.95: ");

double loanAmount = input.nextDouble();

// Create Loan object

Loan loan =

new Loan(annualInterestRate, numberOfYears, loanAmount);

// Display loan date, monthly payment, and total payment

System.out.printf("The loan was created on %s " +

"The monthly payment is %.2f The total payment is %.2f ",

loan.getLoanDate().toString(), loan.getMonthlyPayment(),

loan.getTotalPayment());

}

}

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!