The assignment problem below ask me to calculate the number of months it will take to pay off the loan and the total amount of interest paid over the life of the loan. I'm having trouble trying to find the right algorithm for the monthly payments. Could you please take a look at my code and see what I'm doing wrong? I'm using TextPad, btw.

You have just purchased a stereo system that cost $1000 on the following credit plan: No down payment, an interest rate of 18% per year (and hence 1.5% per month), and monthly payments of $50. The monthly payment of $50 is used to pay the interest and whatever is left is used to pay part of the remaining debt. Hence, the first month you pay 1.5% of $1000 in interest. That is $15 interest. So the remaining $35 is deducted from your debt, which leaves you with a debt of $965.00. The next month you pay interest of 1.5% of $965.00, which is $14.48. Hence you can deduct $35.52 (which is $50 - $14.48) from the amount you owe. Write a program that will tell you how many months it will take you to pay off the loan, as well as the total amount of interest paid over the life of the loan. Use a loop to calculate the amount of interest and the size of the debt after each month. (Your final program need not output the monthly amount of interest paid and remaining debt, but you may want to write a preliminary version of the program that does output these values.) Use a variable to count the number of loop iterations, and hence the number of months until the debt is zero. You may want to use other variables as well. The last payment may be less than the $50 if the debt is small, but do not forget the interest. If you owe $50, then your monthly payment of $50 will not pay off your debt, although it will come close. One month's interest on $50 is only 75 cents.


Here's my code

import java.util.Scanner;

 public class StereoSystem
 {

     public static void main (String [] args)
     {

         Scanner in = new Scanner (System.in);

         System.out.print ("Enter the amount of the loan: $");
         double principal = in.nextDouble ();


         System.out.print ("Enter the monthly payments: ");
         double MonthlyPayments = in.nextDouble ();


         System.out.print ("Enter the interest rate: ");
         double interestRate = in.nextDouble () / 100.0;


         double sum = 0;
         for (int n = 1;  n <= years;  n++)
             sum += (1.0 - (n - 1.0) / years);


         double totalInterest = principal * interestRate * sum;


         double numberOfMonths = 
         (principal + totalInterest) / ( monthly payments);


         System.out.printf ("The number of months it will take to pay off the loan is " + );

     }
}

Recommended Answers

All 3 Replies

I think this:
double numberOfMonths = (principal + totalInterest) / ( monthly payments)
Should be:
double numberOfMonths = (principal + totalInterest) / ( MonthlyPayments)

And weren't you taught in math class the algorithm?

I think this:
double numberOfMonths = (principal + totalInterest) / ( monthly payments)
Should be:
double numberOfMonths = (principal + totalInterest) / ( MonthlyPayments)

And weren't you taught in math class the algorithm?

Made the correction. Thanks for pointing it out and yes, I've learned the algorithm in my previous math course, but it's been a long time.

Also, my mother's friend's son is CS major and he is coming over to my house for a visit. I think this is now a good time to close my thread as I won't be needing any help from this forum.

I think this is now a good time to close my thread as I won't be needing any help from this forum.

so? what's stopping you? mark it solved if it is

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.