# Java Mortgage Calculator Problem...?

Problem: A program written in Java (without a graphical user interface) that will calculate and display the monthly payment amount to fully amortize a $200,000.00 loan over a 30 year term at 5.75‰ interest.
The good news is the code is compiling without errors. The bad news is I am having difficulty getting the...
show more
Problem: A program written in Java (without a graphical user interface) that will calculate and display the monthly payment amount to fully amortize a $200,000.00 loan over a 30 year term at 5.75‰ interest.

The good news is the code is compiling without errors. The bad news is I am having difficulty getting the loan to fully amortize and display the payments as the loan principle decreases. Can someone please help?!?!?!? Here is the code I have so far:

import java.text.*;

public class mortgage

{

public static void main(String[] args)

{

//declaration statements

int length=30; // 30 year mortgage

double balance =200000.00; //amount borrowed

double rate=5.75;

double monthly_payment = 0.00;

double monthly_principal=0.00;

double monthly_interest = 0.00;

NumberFormat currency=NumberFormat.getCurrencyInstanc...

double y_rate = (rate /100/12);

double monthly_payments = balance * ( y_rate / (1 - Math.pow((1+y_rate),-1*(length*12) ) ));

y_rate = (rate/100)/12;

System.out.println("\t\tMortgage Payment Formula");

System.out.println("\t\tBalance own is $200,000");

System.out.println("\t\tYearly interest rate is 5.75%");

System.out.println("\t\tThe length of loan is 30 years\n");

// start of loop to calculate interest paid and balance owe

// print statement as balance increment,as interest increment

for (int mpi =1; mpi<=length*12; mpi++) { // months of payment being decrimented start counter

monthly_interest = (balance*y_rate);

balance = (balance - monthly_principal);

monthly_principal = (monthly_payment - monthly_interest);

System.out.println("Balance is $" + currency.format(balance));

System.out.println("Interest paid is $" + currency.format(monthly_interest));

try {Thread.sleep(10);} catch (InterruptedException e){}

}

}

}

The good news is the code is compiling without errors. The bad news is I am having difficulty getting the loan to fully amortize and display the payments as the loan principle decreases. Can someone please help?!?!?!? Here is the code I have so far:

import java.text.*;

public class mortgage

{

public static void main(String[] args)

{

//declaration statements

int length=30; // 30 year mortgage

double balance =200000.00; //amount borrowed

double rate=5.75;

double monthly_payment = 0.00;

double monthly_principal=0.00;

double monthly_interest = 0.00;

NumberFormat currency=NumberFormat.getCurrencyInstanc...

double y_rate = (rate /100/12);

double monthly_payments = balance * ( y_rate / (1 - Math.pow((1+y_rate),-1*(length*12) ) ));

y_rate = (rate/100)/12;

System.out.println("\t\tMortgage Payment Formula");

System.out.println("\t\tBalance own is $200,000");

System.out.println("\t\tYearly interest rate is 5.75%");

System.out.println("\t\tThe length of loan is 30 years\n");

// start of loop to calculate interest paid and balance owe

// print statement as balance increment,as interest increment

for (int mpi =1; mpi<=length*12; mpi++) { // months of payment being decrimented start counter

monthly_interest = (balance*y_rate);

balance = (balance - monthly_principal);

monthly_principal = (monthly_payment - monthly_interest);

System.out.println("Balance is $" + currency.format(balance));

System.out.println("Interest paid is $" + currency.format(monthly_interest));

try {Thread.sleep(10);} catch (InterruptedException e){}

}

}

}

Follow

3 answers
3

Are you sure you want to delete this answer?