Question
Intro to Java Homework 8: Consumer Loan Program Objective: To calculate how long it will take to pay off a loan. Your program will ask
Intro to Java
Homework 8: Consumer Loan Program
Objective: To calculate how long it will take to pay off a loan.
Your program will ask the user to enter the amount of money they want to borrow, the interest rate, and the monthly payment amount. Your program will then determine how many months it will take to pay off that loan, what the final payment amount will be, and how much interest was paid over that time. If the monthly payment amount isn't high enough to pay off more than one month's interest, your program should notify the user what the minimum monthly payment is.
Here are some examples of how your program should behave. Please use the exact same test cases as these, so that I can verify that your program works:
** Welcome to the Consumer Loan Calculator ** How much do you want to borrow? $1000 What is the annual interest rate expressed as a percent? 18 What is the monthly payment amount? $50 Your debt will be paid off after 24 months, with a final payment of just $47.83 The total amount of interest you will pay during that time is $197.83 ** Don't get overwhelmed with debt! **
Here are the rules and some tips:
The user enters the interest rate as an annual percentage rate. You need to convert this annual percentage to a monthly decimal. For example, 12% annual interest is 1% per month, which is 0.01
Your program must allow only positive numbers to be entered by the user, as shown above
Your program must notify the user if their monthly payment isn't high enough, and tell them what the minimum payment is to pay off more than one month's interest (and thus make progress paying off the debt).
Your program must use at least 2 methods in addition to main. Each of these methods must have a comment explaining briefly what it does. For example, you may want to include the following two methods in your program:
static double getPosNumber(String prompt) // This function outputs the prompt to the console, reads input // from the console, and converts it to a number, // which the function returns. If the number is not positive, // the user is told to enter a new number until a positive number is entered. static void payOffLoan(double principle, double rate, double payment) /* This function assumes the payment is enough to cover first month's interest. It has a loop to pay off the loan one month at a time. It outputs to the console: - how many months it will take to pay off the loan - total amount of interest paid during that time - amount of final payment */
Don't use any class-level variables. Every variable should be declared inside of a method.
This program should mimic the standard way loans work for credit cards, car loans, and home mortgages: Each month the following happens:
The balance (amount owed) is multiplied times the monthly interest rate to determine how much interest is owed this month. This amount of interest is added to the principle (additional debt)
This amount of interest is also added to the total interest so far (to be output at end)
The monthly payment is subtracted from the balance, reducing the amount of debt.
The month is counted (to be output at end)
This is repeated each month until the debt is paid off (balance reaches zero). The best way to understand it is to look at an example. Let's say you borrow $100. That's also called the balance or principle. Imagine your interest rate is 12%. That's an annual (yearly) rate, so it's 1% per month, so you multiply the balance times 0.01 to get the amount of interest. If your monthly payment is $50/month, then here's what happens:
Month 1:
$100 * 0.01 = $1 interest for the month adding interest and subtracting the payment: $100 + $1 - $50 = $51 new balance
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started