Create a form that allows you to enter in interest rate mont

Create a form that allows you to enter in interest rate, monthly payment, principal , and number of years. Your Java Servlet program then generates a table containing a row of output for each month of a mortgage. Your table should show Month number, New Principal, Interest Paid during the month. If the loan is paid off, your table needs to properly stop. You will want to have a loop for the number of 12 * (Number of years). On each iteration of the loop, you will want to calculate the interest paid which is: interestPaid = (newPrincipal * interest)/(12*100) The 12 is because of 12 months in a year. The 100 is due to the fact that interest rates (like 6) are computed as 0.06 in interest calculations. newPrincipal = newPrincipal + interestPaid - monthlyPayment To get rid of the large number of decimal places that show up when you print a double, there is a format method in the String class that can help. Consider the following code (similar to the printf stuff in System.out): String sPrinciple = String.format(\"%.2f\", principal);

The use of Netbeans IDE is suggested for this question

Solution

import java.util.Scanner;

class AmortizationProgram{

   public static void main(String[] args){

      double p,iy;

      int n;

      Scanner sc=new Scanner(System.in);

      System.out.print(\"Enter amount of loan:\");

      p=sc.nextFloat();

      System.out.print(\"Enter interest rate per year:\");

    iy=sc.nextFloat();

    System.out.print(\"Enter number of years:\");

    n=sc.nextInt();     

    calAmort(p,iy,n);

     

    }

     public static void calAmort(double p,double iy, int ny){

           double newbal;

           double im=(iy/12)/100;

           int nm=ny*12;

           double mp,ip,pp;

           int i;

  

          mp=p*im*Math.pow(1+im,(double)nm)/(Math.pow(1+im,(double)nm)-1);

          printHeader();

             for(i=1;i<nm;i++){    

             ip=p*im;//interest paid

             pp=mp-ip; //princial paid

             newbal=p-pp; //new balance                

             printSch(i,p,mp,ip,pp,newbal);

             p=newbal; //update old balance

        }

        pp=p;

        ip=p*im;

        mp=pp+ip;

        newbal=0.0;

       printSch(i,p,mp,ip,pp,newbal);      

   

    }

public static void printSch(int i,double p,double mp,double ip,double pp,double newbal){

  

     System.out.format(\"%-8d%-12.3f%-10.3f%-10.3f%-10.3f%-12.3f\ \",i,p,mp,ip,pp,newbal);

   

    }

public static void printHeader(){

       int i;

     System.out.println(\"\ Amortization Schedule for Borrower\");

      for(i=0;i<62;i++) System.out.print(\"-\");

       System.out.format(\"\ %-8s%-12s%-10s%-10s%-10s%-12s\",\" \",\"Old\",\"Monthly\",\"Interest\",\"Principle\",\"New\",\"Balance\");

       System.out.format(\"\ %-8s%-12s%-10s%-10s%-10s%-12s\ \ \",\"Month\",\"Balance\",\"Payment\",\"Paid\",\"Paid\",\"Balance\");

   }   

}

Create a form that allows you to enter in interest rate, monthly payment, principal , and number of years. Your Java Servlet program then generates a table cont
Create a form that allows you to enter in interest rate, monthly payment, principal , and number of years. Your Java Servlet program then generates a table cont

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site