import java.io.*;
import java.net.*;
import java.text.*;
import java.util.*;
import java.awt.*;
import java.awt.image.*;
import java.lang.reflect.Array;


class LoanCalc extends Frame {
  private String sPar=new String();

  public static void main(String[] args) {
    LoanCalc t=new LoanCalc();
  }

  public LoanCalc() {
    setSize(600,600);
    TextArea ta=new TextArea();
//   FileDialog f=new FileDialog(this);
//    f.show();
//    System.out.println(f.getDirectory());
//    JpgWin j=new JpgWin(f.getDirectory());

    double loanAmount=137900;
    double interest=.0525;
    double numPayments=360;
    double numPayYear=12;

    double loan2=53000;

    double e=interest/numPayYear+1;
    double a=e;
    double b=1;
    for(int i=0;i<numPayments-1;i++) {
      b+=a;
      a*=e;
    }
    double payment=sToD(round(loanAmount*a/b,-2));
    double pay2=sToD(round(loan2*a/b,-2));
    double sum=loanAmount;
    double sum2=loan2;
    double a2;
    double e2;
    
    ta.append("The amount is "+round(payment,-2)+"  "+
      round(pay2,-2)+"\n\n");
    ta.append("month  interest   equity    total\n");
    ta.append("-----  --------   ------    -----\n");
    for(int i=0;i<numPayments;i++) {
      a=e*sum-sum;
      sum=sum+a-payment;

      a2=e*sum2-sum2;
      e2=payment-a2-171;
      sum2=sum2-e2;

      ta.append(Integer.toString(i)+"  "+round(a,-2)+" "
        +round(payment-a,-2)+" "+round(sum,-2)+"    "
        +round(a2,-2)+" "+round(e2,-2)
        +" "+round(sum2,-2)+"\n");
    }

    add(ta);
    show();

 //   double j=Double.valueOf("123.4").doubleValue();
  }

  public String round(double n,int place) {
    double f=n+.5*Math.pow(10.0,(double)place);
    String s=Double.toString(f);
    int p=s.indexOf('.');
    if(place<0) {
      if(p>=0) {
        return s.substring(0,p-place+1);
      }
      else
        return s;  // incomplete
    }
    else 
      return s;  // incomplete
  }

  public double sToD(String s) {
    double result=0;

    try {
      result=Double.valueOf(s).doubleValue();
    }
    catch(Exception e) {
    }
    return result;
  }

}  //end of class

