Calculate and display the loan amount to two decimal places

Assignment Help JAVA Programming
Reference no: EM131269961

Java Programming Assignment 3: Expressions, class Methods, and Parameter passing

Problem Summary

A mortgage company would like you to help compute mortgage payments for its customers, when given a mortgage loan.

The mortgage company currently only issues 30-year mortgage loans, and always requires a 10% down payment to obtain a mortgage loan. Therefore, the Loan Amount will always be 90% of the Purchase Price (the price paid for the home).

To protect its interests, the mortgage company handles paying the property taxes and insurance on the property. Therefore, the monthly mortgage payment consists of three parts:

- property taxes
- insurance
- principle and interest for the loan

The property tax portion is computed as follows:

Home's Assessed Value = 85% of Purchase Price

Annual Property Taxes = 0.63% of Home's Assessed Value + $35.00 admin fee

For example, if the home's purchase price was $101,000.00

The assessed value would be $85,850.00
The annual property taxes would be $540.86 + 35.00 = $575.86
And the monthly property taxes would be $47.99

The insurance portion is computed as follows:

Annual Insurance Premium = 0.49% of Purchase Price Monthly premiums will be rounded to the nearest dollar.

For example, if the home's purchase price was $101,000.00

The annual insurance premium would be $494.90 And the monthly insurance cost would be $41.00

NOTES:

- The tax and insurance percentages are less than 1%, so make sure you enter the values correctly for calculations (i.e. 0.49% == 0.0049)

- Both annual property taxes and annual insurance premiums must be divided by 12 to obtain a monthly cost.

The principle and interest portion is computed as follows:

Monthly Loan Payment = factor x Monthly Interest Rate x Loan Amount factor - 1 where

factor = exp( Loan Length In Months x log(1 + Monthly Interest Rate) );

Predefined exp and log mathematical functions are located in the built-in java.lang.Math class.

The monthly interest rate will be 1/12th of the loan's annual interest rate. Be sure to also convert the percent entered by user (e.g. 5%) to an amount that can be used in calculations (e.g. 0.05).

For example, if the home's purchase price was $101,000.00 and the annual interest was 5%:

The loan amount would be $90,900.00 (after subtracting the down payment)

The monthly interest rate would be 0.00417

The loan length would be 360 months

So the monthly loan payment would be $487.97

NOTE: For hand calculating results to test your program, the equivalent algebraic equation for factor is:

factor = (1 + MonthlyInterestRate) TermInMonths

Overview of Program

In your last two Alice assignments, you:

- Created programs that were broken down into multiple methods.
- Used variables to store user input and calculation results.
- Used parameters and return values to pass information between methods.

This assignment will require you to do the same things in Java. This program will contain:

- A main method to read the inputs from the user, display some values, and call the other methods.
- A method (1) to display a description of what the program will do.
- A method (2) to compute the monthly property tax..
- A method (3) to compute the monthly insurance premium.
- A method (4) to compute the monthly principle and interest loan payment.
- A method (5) to compute and display the results of the program.

Program Requirements

Given the price paid for a home and the annual interest rate for a 30-year loan (both read from the user), compute the individual parts of a monthly mortgage payment, along with the total, as follows:

1. Create only one Java class for this program, named as follows:

LastnameJavaClassName For example: SmithMortgagCalculator

2. Implement the following methods, within this class:

NOTE: All of these methods should have descriptive names that include a verb, describing the methods action.

Method 1: A method to display an explanation of what the program will do to the user.

o This method will not have any parameters or a return value.

Method 2: A method to compute the monthly property tax. This method will:

o Have 1 parameter: the purchase price of the home
o Define and use three local (non-static) constants, that contain the values for:

- the percentage of the purchase price used to compute the home's assessed value
- the percentage of the home's assessed value used to compute the property tax
- the dollar amount of the admin fee

o Compute the monthly property tax using the formulas on page 1

o Return a double value: the monthly property tax payment

Method 3: A method to compute the monthly insurance premium. This method will:

o Have 1 parameter: the purchase price of the home

o Define and use a local (non-static) constant that contains the percentage of the purchase price used to compute the insurance premium.

o Compute the monthly insurance premium using the formulas on page 1

o Use the round method in the java.Math class to round the monthly insurance premium to a whole dollar amount.

o Return a double value: the rounded monthly insurance premium

Method 4: A method to compute the monthly principle and interest loan payment for a 30-year loan. This method will:

o Have 2 parameters:

- the loan amount
- the annual interest rate for the loan

o Define and use a local (non-static) constant that is set to the value of:

- the number of months in the loan period

o Use the exp and log methods from in the java.lang.Math class to calculate the factor
o Compute the monthly principle and interest loan payment using the formulas on page 1
o Return a double value: the monthly loan payment

Method 5: A method to compute and display the results, with no return value. This method will:

o Have 3 parameters:

- the monthly tax payment
- the monthly insurance premium
- the monthly principle and interest loan payment

o Calculate the total monthly mortgage payment
o Use the println and printf statements to:

- Display the header "Monthly Mortgage Payment"

- Display each of the parameter values (the three parts of the mortgage payment), to 2 decimal places, indented under the header and lined up on the decimal points

- Display a dashed addition line below the parts of the mortgage payment.

- Then display the total monthly mortgage payment. This total also be displayed to 2 decimal places, indented under the header, and should line up with the figures above.

3. Within the main method, write the Java code to:

NOTE: The main method will be defined first, at the top of the class, before all the other methods.

- Define and use a local (non-static) constant to hold the percentage of a home's purchase price that a loan will be issued for (used to compute loan amount), set to 90%.

Call method 1 to display the program description.

- Prompt for (using descriptive prompts) and read the user inputs (home's purchase price and loan's annual interest rate).

Sample Display and Input from main method

- Display a few blank lines to separate the input from the output.
- Calculate and display the loan amount to 2 decimal places.
- Call all the calculation methods (methods 2 - 4) to compute the three parts of the monthly mortgage payment, and save the results returned from each.
- Call the method 5 to display the final results.

Sample Output from method 5

Output must display exactly as shown: All decimal points in the payment components and total payment must line up with each other. And the descriptions must be indented 2 spaces.

4. You must also define and use:

o Local variables for each input or computed value, defined using descriptive names and appropriate data types.

WARNING: The methods must be implemented exactly as specified in these requirements.

Reference no: EM131269961

Questions Cloud

Paper on comparative politics : Submit your paper on Comparative Politics. Before you submit any work, be sure to check the Guidelines for Writing Research Papers in Course Materials. Your comparative politics paper will require you to write a 5-page research paper in which you ..
What are two defining goals of a database management system : Do you think that the single-file redundancy problem is more serious, less serious, or about the same as the multi file redundancy problem? Why?
Is the problem managerial or technical in nature : What factors might lead to redundant data across multiple files? Is the problem managerial or technical in nature?
How many words per minute should be able to handle : How long, to the nearest week, should it take the student to achieve 90 words per minute? How many words per minute should the student be able to handle by the end of the course?
Calculate and display the loan amount to two decimal places : Calculate and display the loan amount to 2 decimal places. Call all the calculation methods (methods 2 - 4) to compute the three parts of the monthly mortgage payment, and save the results returned from each.
Discuss how you have used that skill in your work life : Pick one of the listed skills and in your own words discuss how you have used that skill in your work life. Please Address the Following the problem or issue and the actions you took using that skill
Find the average number of voters during the period : The number of voters (in thousands) in a certain city is given.- Find the average number of voters during the period from t = 0 to t = 5.
Should data be considered a true corporate resource : Defend or refute the following statement: ‘‘Data is the most important corporate resource because it describes all of the others.''
What is sequential access and direct access : What is the difference between a record type and an occurrence of that record? Give some examples.

Reviews

Write a Review

JAVA Programming Questions & Answers

  Recursive factorial program

Write a class Array that encapsulates an array and provides bounds-checked access. Create a recursive factorial program that prompts the user for an integer N and writes out a series of equations representing the calculation of N!.

  Hunt the wumpus game

Reprot on Hunt the Wumpus Game has Source Code listing, screen captures and UML design here and also, may include Javadoc source here.

  Create a gui interface

Create GUI Interface in java programing with these function: Sort by last name and print all employees info, Sort by job title and print all employees info, Sort by weekly salary and print all employees info, search by job title and print that emp..

  Plot pois on a graph

Write a JAVA program that would get the locations of all the POIs from the file and plot them on a map.

  Write a university grading system in java

University grading system maintains number of tables to store, retrieve and manipulate student marks. Write a JAVA program that would simulate a number of cars.

  Wolves and sheep: design a game

This project is designed a game in java. you choose whether you'd like to write a wolf or a sheep agent. Then, you are assigned to either a "sheep" or a "wolf" team.

  Build a graphical user interface for displaying the image

Build a graphical user interface for displaying the image groups (= cluster) in JMJRST. Design and implement using a Swing interface.

  Determine the day of the week for new year''s day

This assignment contains a java project. Project evaluates the day of the week for New Year's Day.

  Write a java windowed application

Write a Java windowed application to do online quiz on general knowledge and the application also displays the quiz result.

  Input pairs of natural numbers

Java program to input pairs of natural numbers.

  Create classes implement java interface

Interface that contains a generic type. Create two classes that implement this interface.

  Java class, array, link list , generic class

These 14 questions covers java class, Array, link list , generic class.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd