954,193 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Mortgage Program

I'm trying to show the balance and interest paid for each month. The balance should go down with each loop until balance is paid in full. The balance will go down but with the wrong amount I don't know how to put an loop in here that will say balance payed in full at the end of the code. The interest paid should go up with each loop , it goes up with the wrong amount

/*Write a Java program without a graphical user interface that calculates and displays
the mortgage payment amount given the amount of the mortgage, the term of the
mortgage, and the interest rate of the mortgage. In this program, hard code the
amount = $200,000, the term = 30 years, and the interest rate = 5.75%.
Insert comments in the program to document the program.*/

import java.text.*;
public class Mortgagepayment
{
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.getCurrencyInstance();
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){}

}
}
}

PPaul1
Newbie Poster
3 posts since Oct 2006
Reputation Points: 10
Solved Threads: 0
 
balance = (balance - monthly_principal); monthly_principal = (monthly_payment - monthly_interest);

The monthly principal should be determined before it is subtracted from the balance, right?

As far as a print statement for paid in full, simply add a print statement after the loop.

masijade
Industrious Poster
Moderator
4,253 posts since Feb 2006
Reputation Points: 1,471
Solved Threads: 494
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You