Explore BrainMass
Share

# Mortgage Amortization: Standard Mortgage Rates

This content was STOLEN from BrainMass.com - View the original, and get the already-completed solution here!

Consider a standard mortgage (360 months) with monthly payments and a nominal rate (monthly compounding) of 5.70%. What portion of the payments during the first 31 months goes toward interest?

79.39%
80.48%
82.86%
84.08%
85.83%

#### Solution Summary

Solution depicts the steps to calculate the interest portion of first 31 payments in the given case.

\$2.19

## Java Code to Calculate Mortgage Payments

I need help with a program that will calculate mortgage payments. The program must be written in Java that will calculate and display the monthly payment amount to fully amortize a \$200,000.00 loan over a 30 year term at 5.75? interest.

Part 1: Complete Change Request #4 in Service Request SR-mf-003:

Part 2: Complete Change Request #5 in Service Request SR-mf-003

Part 3: Complete Change Request #6 in Service Request SR-mf-003:

Part 4: Complete Change Request #7 in Service Request SR-mf-003:

Description of Request:
Need a program that will calculate mortgage payments.

Background of Request:
Agents in the field offices will need to be able to calculate mortgage payment amounts. In the future, we may want to put a mortgage calculator on our Web site.

Expected Results/Impact when completed:
A program written in Java that will calculate and display the monthly payment amount to fully amortize a \$200,000.00 loan over a 30 year term at 5.75‰ interest.

Part 1
Design a program using a graphical user interface that prompts the user to enter the mortgage principal, the mortgage term (in years), and annual interest rate (APR), then calculates and displays the mortgage payment amount. Allow the user to loop back and enter new data or quit. The code should follow the formatting and commenting standards posted in the Course Materials forum.
The Mortgage formulas are given at the end of this document.

Change Request #4
Requestor: Ninfa Pendleton - Rapid City, SD
Write the program in Java (with a graphical user interface) and have it calculate and display the mortgage payment amount from user input of the amount of the mortgage, the term of the mortgage, and the interest rate of the mortgage. Allow the user to loop back and enter new data or quit. Please insert comments in the program to document the program.

Part 2
Modify your program to allow the user to enter the amount of the mortgage and then allow the user to select from a list of mortgage loans: 7 years at 5.35%, 15 years at 5.5%, and 30 years at 5.75%. Use an array of objects for the different loans. The program should calculate and display the mortgage payment amount, then display the loan balance and interest paid for each payment over the term of the loan in a scrolling pane. Allow the user to loop back and enter new data or quit.
The code should follow the formatting and commenting standards posted in the Course Materials forum.

Change Request #5
Requestor: Ninfa Pendleton - Rapid City, SD
Write the program in Java (with a graphical user interface) and have it calculate and display the mortgage payment amount from user input of the amount of the mortgage and the user's selection from a menu of available mortgage loans:

- 7 years at 5.35%
- 15 years at 5.5%
- 30 years at 5.75%

Use an array for the mortgage data for the different loans. Display the mortgage payment amount followed by the loan balance and interest paid for each payment over the term of the loan. Allow the user to loop back and enter a new amount and make a new selection or quit. Please insert comments in the program to document the program.

Part 3
Modify your program to allow the user to choose whether to enter the term and APR, or to select from the list of mortgage loans.
The code should follow the formatting and commenting standards posted in the Course-Materials forum.

Change Request #6
Requestor: Ninfa Pendleton - Rapid City, SD
Write the program in Java (with a graphical user interface) so that it will allow the user to select which way they want to calculate a mortgage: by input of the amount of the mortgage, the term of the mortgage, and the interest rate of the mortgage payment or by input of the amount of a mortgage and then select from a menu of mortgage loans:

- 7 year at 5.35%
- 15 year at 5.5 %
- 30 year at 5.75%

In either case, display the mortgage payment amount and then, list the loan balance and interest paid for each payment over the term of the loan. Allow the user to loop back and enter a new amount and make a new selection, or quit. Insert comments in the program to document the program.

Part 4

Modify your program to read the interest rates and terms for the array from a text file. Add graphics in the form of a chart that displays the change in principal balance over the life of the loan.
The code should follow the formatting and commenting standards posted in the Course-Materials forum.

Change Request #7
Requestor: Ninfa Pendleton - Rapid City, SD
Write the program in Java (with a graphical user interface) and have it calculate and display the mortgage payment amount from user input of the amount of the mortgage and the user's selection from a menu of available mortgage loans:

- 7 years at 5.35%
- 15 years at 5.5%
- 30 years at 5.75%

Use an array for the mortgage data for the different loans. Read the interest rates to fill the array from a sequential file. Display the mortgage payment amount followed by the loan balance and interest paid for each payment over the term of the loan. Add graphics in the form of a chart. Allow the user to loop back and enter a new amount and make a new selection or quit. Please insert comments in the program to document the program.

Mortgage Formulas
1. Basic payment formula
To calculate the mortgage payment, use the following formula:

PMT = (PV x IR) / (1 - (1 + IR)-NP)
Java implementation: PMT = (PV * IR) / (1 - Math.pow(1 + IR, -NP))

Where:
PMT = Monthly Payment
PV = Principle Value (amount of loan)
IR = Interest Rate, by month
NP = Note Period, or mortgage term in months

IR = APR / 100 / 12
NP = Years * 12 (for example, 5 years means NP = 60)
APR = Annual Percentage Rate (for example 6.25)

Use the formula above when APR > 0.
If APR = 0 (an interest-free loan), then PMT = PV / NP.
2. Amortization Table
Pseudocode for the calculation process
/** initialize the balances **/
loanBalance = NP * payment
principalBalance = PV
interestBalance = loanBalance - principalBalance
totalPrincipalPaid = 0
totalInterestPaid = 0

/** step through all the payment periods */
For paymentNumber from 1 to NP:

/**
The portion of the payment that goes to interest is based on
the remaining principal balance.
**/
interestPaidThisMonth = interestRate * principalBalance

/**
The rest of the payment goes to principal.
**/
principalPaidThisMonth = payment - interestPaidThisMonth

/**
Update the remaining balances and total paid values
**/
loanBalance = loanBalance - payment
principalBalance = principalBalance - principalPaidThisMonth
totalPrincipalPaid = totalPrincipalPaid + principalPaidThisMonth
interestBalance = interestBalance - interestPaidThisMonth
totalInterestPaid = totalInterestPaid + interestPaidThisMonth
End For

Design Checklist

Does the design follow good Object Oriented principals?
Are the objects and their relationships described clearly?
Are the methods described clearly?
Does the design make sense and satisfy the requirements?

Code Checklist

Are classes and methods described comments?
Are comments clear, concise, and explanatory?
Is indentation used to illustrate the structure of the program and control structures?
Is white spaced used to improve readability?
Do identifiers logically describe use?