Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

17.6 (Store Loan objects) The Loan class in Listing 10.2 (given below) does not implement Serializable. Rewrite the Loan class to implement Serializable. Write a

17.6 (Store Loan objects) The Loan class in Listing 10.2 (given below) does not implement Serializable. Rewrite the Loan class to implement Serializable. Write a program that creates five Loan objects and stores them in a file named Exercise17_06.dat.

public class Loan {

2 private double annualInterestRate;

3 private int numberOfYears;

4 private double loanAmount;

5 private java.util.Date loanDate;

6

7 /** Default constructor */

8 public Loan() {

9 this(2.5, 1, 1000);

10 }

11

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

13 number of years, and loan amount

14

*/

15 public Loan(double annualInterestRate, int numberOfYears,

16 double loanAmount) {

17 this.annualInterestRate = annualInterestRate; 18 this.numberOfYears = numberOfYears;

19 this.loanAmount = loanAmount;

20 loanDate = new java.util.Date();

21 }

22

23 /** Return annualInterestRate */

24 public double getAnnualInterestRate() {

25 return annualInterestRate;

26 }

27

28 /** Set a new annualInterestRate */

29 public void setAnnualInterestRate(double annualInterestRate) {

30 this.annualInterestRate = annualInterestRate; 31 }

32

33 /** Return numberOfYears */

34 public int getNumberOfYears() {

35 return numberOfYears;

36 }

37

38 /** Set a new numberOfYears */

39 public void setNumberOfYears(int numberOfYears) {

40 this.numberOfYears = numberOfYears;

41 }

42

43 /** Return loanAmount */

44 public double getLoanAmount() {

45 return loanAmount;

46 }

47

48 /** Set a new loanAmount */

49 public void setLoanAmount(double loanAmount) {

50 this.loanAmount = loanAmount;

51 }

52

53 /** Find monthly payment */

54 public double getMonthlyPayment() {

55 double monthlyInterestRate = annualInterestRate / 1200;

56 double monthlyPayment = loanAmount * monthlyInterestRate / (1 -

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

58 return monthlyPayment;

59 }

60

61 /** Find total payment */

62 public double getTotalPayment() {

63 double totalPayment = getMonthlyPayment() * numberOfYears * 12;

64 return totalPayment;

65 }

66

67 /** Return loan date */

68 public java.util.Date getLoanDate() {

69 return loanDate;

70 }

71 }

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions