## desert564 Light Poster

though the maortgagae cals works correctly the answers are not i columns

``````import java.io.*;

import static java.lang.Math.*;

import java.util.Scanner;

import java.text.DecimalFormat;

import java.text.NumberFormat;

/**

* @(#)AmortWeek3.java

*

* AmortWeek3 application

*

* @author

*          Week 3-Service Request SR-mf-003

*                 Change Request 1

*                  Display breakdown of monthly payments
*

* @version 1.00 2011/3/4

*/

public class AmortWeek3 {

public static void main(String[] args) {

// Mortgage Calculation Formula Payment = (principal * interest) / (1 -- (1 + interest)^-number of payments)

//Declaring the variables that will be used in the program

double monthlyPmt;                          //Monthly Payment

double principalAmt = 200000;               //Amount of principal

double intRate = .0575;                     //Annual interest rate

double monthlyIntRate = intRate / 12;       //Monthly interest rate

double loanTerm = 360;                      //Total number of months

double counter = 0;                             //Counter

//Calculate monthly payment

monthlyPmt = (principalAmt*(monthlyIntRate*(Math.pow((1+monthlyIntRate), loanTerm)

)))/((Math.pow((1+monthlyIntRate),loanTerm))-1);

DecimalFormat Currency = new DecimalFormat("\$#,##0.00");

//Display monthly payment

System.out.println("Amoritized monthly payment for McBride");

String payment = Currency.format(monthlyPmt);

System.out.print(payment);

System.out.println();

System.out.println();

//Formula needs to broken down from (principal * interest rate) to calculate the interest for length of loan

final int PAYMENT_WIDTH = 10;

final int AMOUNT_WIDTH = 15;

final int PRINCIPAL_WIDTH = 15;

final int INTEREST_WIDTH = 15;

final int BALANCE_WIDTH = 15;

String pattern = "%" + PAYMENT_WIDTH + "s%" + AMOUNT_WIDTH + "s%" + PRINCIPAL_WIDTH + "s%" + INTEREST_WIDTH + "s%" + BALANCE_WIDTH + "s";

System.out.printf(pattern, "PAYMENT", "AMOUNT", "PRINCIPAL", "INTEREST", "BALANCE");

System.out.println();

NumberFormat nf = NumberFormat.getCurrencyInstance();

for (int month = 1; month <= loanTerm; month++) {

double amountInterest = principalAmt * monthlyIntRate;

double amountPrincipal = monthlyPmt - amountInterest;

principalAmt = principalAmt - amountPrincipal;

System.out.printf(pattern, month, nf.format(monthlyPmt), nf.format(amountPrincipal), nf.format(amountInterest), nf.format(principalAmt));

if (month == 25) {

month =0;

try {

Scanner keyIn = new Scanner(System.in);

System.out.print("(Press ENTER to see more months");

System.in.read();                                     // Look for keyboard input

} catch (IOException e) {                             // Catch the input

return;                                               // Continue the program

}

month= month+1;                                      // Increment line counter

} else {

}

}

}

}``````