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

  Write a program to play a variation of the game

Roll two dice. Each die has six faces representing values 1, 1, ..., and 6. Check the sum of the two dice. If the sum is 2, 3, or 12 you lose; if the sum is 7 or 11, you win. If the sum is another value (4,5,6,8,9, or 10) a point is established.

  How you expected your strategy to improve performance

Evaluate the manner by which the threaded sort application performs - Propose a strategy to improve the performance

  Design and develop a console application

Required to design and develop a console (text-based) application for a small car servicing company -

  Implement the getperimeter that returns the perimeter

Design a class named Triangle that extends GeometricObject. The class contains three double data fields named side1, side2, and side3 with default values 1.0 to denote three sides of the triangle. Implement the getPerimeter that returns the perim..

  Declare a subclass of jpanel called mycolorchooser

Display the current value of each JSlider in the corresponding JTextField. When the user changes the value of the JSlider, the JTextField should be changed accordingly.

  Define output operators for clock and travelclock

Define output operators for Clock and TravelClock. Modify the classes Clock and TravelClock to declare the output operators as friends.

  A java program that reads the records

A java program that reads the records from the golf.dat file and displays them. It also displays the name of the player with the best (lowest) golf score.

  Write a java statement to create an arraylist

Write a java statement to create an ArrayList called list to hold 25 integers - What is the type of the ArrayList defined in question number 1.

  Draw a uml diagram of each of the shapes

Draw a UML diagram of each of the Shapes, Rectangle and Square classes using the code that has been provided. Complete this using the examples that have been provide in the lecture slides.

  Write a class named studentgrades

Write a class named StudentGrades. The constructor of StudentGrades should accept an array of student grades as its argument.

  Advantages and disadvantages of inline functions

advantages and disadvantages of inline functions

  Find and fix the bug that is creating the exception error

Find and fix the bug that is creating the exception error message in the program in our AVL tree implementation. Make sure to explain the bug and how to fix it.

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