Need Help With Program - Programmers Heaven

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

Need Help With Program

skywalker421skywalker421 Posts: 1Member
This program is supposed to calculate how long it will take to pay off a credit card. The method I have written theoretically should work and is:
public void creditCard()
{
System.out.println("Credit Card Pay-Off Schedule");
int numMonths=0;
while (principal>0){
numMonths++;
principal+=(principal*(percent/12));
monthlyPmt=.03*principal;
if(monthlyPmt<10){
monthlyPmt=10;
}
if(monthlyPmt>principal){
monthlyPmt=principal;
}
principal-=monthlyPmt;
}
double totalpayments=(principal*Math.pow(1+(percent/100),(numMonths/12)));
System.out.println("Loan Amount: "+principal);
System.out.println("Yearly Interest: "+percent);
System.out.println("Payback Months: "+numMonths);
System.out.println("Total Payments: "+totalpayments);
System.out.println("Total Interest: "+(totalpayments-principal));
}
But it doesn't. It just freezes.

Comments

  • eyesonlyeyesonly Posts: 10Member
    **double totalpayments=(principal*Math.pow(1+(percent/100),(numMonths/12)));

    -- i don't what is this for? but I assume you are just trying to get total how much you paid all-in-all including interest.. correct??

    **percent (variable)

    -- you forget to define the value of this variable.. I assuming this is the interest impose by the bank per annumm..

    **System.out.println("Loan Amount: "+principal);

    -- you tried to print the original value of the principal amount, but remember you modified its value in the while loop..

    -- I rewrote your program.. I hope its correct.. Although I am not sure if the computation is correct.. good luck!!

    public class creditCard {

    public static void main( String args[])
    {
    double principalAmount=3000, monthlyPayment=0, totalPay = 0;
    final double percent = 4; // assuming a 4 percent interest per annum
    int numMonths=0;

    double InitialPrincipalAmount = principalAmount;

    while(principalAmount>0){
    numMonths++;
    principalAmount = principalAmount + (principalAmount*((percent/100)/12));
    monthlyPayment = principalAmount * .03; // 3 percent monthly? of the principal?

    if( monthlyPayment < 10)
    monthlyPayment = 10;

    totalPay = totalPay + monthlyPayment;

    principalAmount = principalAmount - monthlyPayment;

    }

    System.out.println("Loan Amount: "+InitialPrincipalAmount);
    System.out.println("Yearly Interest: "+ (percent) + "%");
    System.out.println("Payback Months: "+numMonths);
    System.out.println("Total Payments: "+totalPay);
    System.out.println("Total Interest: "+(totalPay-InitialPrincipalAmount));

    }
    }

Sign In or Register to comment.