Precalculated Loans !!URGETN!!

 DevX Home Today's Headlines   Articles Archive   Tip Bank   Forums

1. Registered User
Join Date
Oct 2004
Location
Chicago
Posts
108

## Precalculated Loans !!URGETN!!

I have to write a an automobile financing program it is supposed to calculate simple interest, baloon payments charges, and precomputed loans. I wrote most of the program, but i cannot figure out one of the formulas i was given.

Here is the formula:

f(m)=d-pm+c(t)((2t-m+1)/(t(t+1)))

I do not know how to use this formula. I do not know if c is supposed to be the total of another formula or something else:

Here is my code:

import java.io.*;
class calculation{
private double d;
public int n;
private double i;
private double a;
private double payment;
private double ballonp;
private double f;
private double p;

calculation(double borrowed, int months, double interest){
d = borrowed;
n = months;
i = interest;
a = (1+i/12);
}
double round(double x){
double z=((double)(Math.round(x*100)))/100;
return z;
}

double monthlyp(){
payment = ((d*i*(Math.pow(a,n)))/(Math.pow(a,n)-1));
return (round(payment/12));
}

double balance(int m){
double p = payment;
double b = (d*Math.pow(a,m)-p*(Math.pow(a,m)-1)/i);
return (round(b));
}

double ballonp(int m){
ballonp = (d-(m-1)+this.balance(m));
return (round(ballonp));
}
double precomputed(double m){
double c =i;
int t = 24;
f = (d-(p*m)+c*(t*((m*(2*t-m+1))/t*(t+1))));
return f;
}
}

class AutoFinancing{
public static void main(String args[])throws IOException{
System.out.println("Amount Borrowed: ");
System.out.println("Number of months: ");
calculation first = new calculation(10000,24,0.06);
System.out.println(" Monthly Payments = \$ "+first.monthlyp());
System.out.println();
for(int m =1;m<=first.n;m++){
System.out.println("Month "+m+": Balance = \$ "+ first.balance(m));
}
System.out.println(first.ballonp(10)); //calculated ballon payment for given month
System.out.println();
System.out.println(first.precomputed(24)); //24th month, I used it for testing

}
}

2. Registered User
Join Date
Nov 2004
Location
Minnesota
Posts
99
c looks like the constant interest rate, to me.

3. Registered User
Join Date
Oct 2004
Location
Chicago
Posts
108
I have found out what the value of c was supposed to be, and i wrote the program, but I do not understand some of my output.

When I enter some of the options I wrote, the program outputs that plus another part that it was not supposed to. Can somebody please take a look at my code?

import java.io.*;
class calculation{
private double d;
private double i;
public int n;
private double a;
private double p;
private double ballonp;
private double c;
private int t;
private double f;

calculation(double borrowed, double interest, int term){ //class constructor
d = borrowed;
i = interest;
n = term;
a = (1+i/12);
}

double round(double x){ //rounding method
double z=((double)(Math.round(x*100)))/100;
return z;
}

double monthlyp(){ //monthly payment calculation
p = ((d*i*(Math.pow(a,n)))/(Math.pow(a,n)-1));
return (round(p/12)); //call rounding method with parameters of p/12
}

double balance(int m){ //simple interest calculation
double b = (d*Math.pow(a,m)-p*(Math.pow(a,m)-1)/i); //m = current month
return (round(b)); //call rounding method with parameters of p
}

double ballonp(int m){ //baloon payment calculation
ballonp = (d-(m-1)+this.balance(m)); //calls balance method with parameters of m
return (round(ballonp));
}

double c(int m){ //Rule of 78s calculation
c =(n-(m-1))/((n*(n+1))/2);
return round(c);
}

double precomputed(int m){ //precomputed loan calculation
t = n;
f=(d-(p*m)+(c*t))*(m*(2*t-m+1))/(t*(t+1));
return round(f); //calls rounding method with parameters of f
}
}

class AutoFinancing{
public static void main (String[]args)throws IOException{
double borrowed;
double interest;
int term;
int choice;
boolean exit = false;
int baloonpayment;
do{
System.out.print("Amount of \$ borrowed: ");
System.out.println();
System.out.print("Interest rate: ");
interest /=100;
System.out.print("Term of months: ");
System.out.println();
calculation current = new calculation(borrowed,interest,term); //creates new instance of method
//calculation with parameters
//borrowed , interest,and term
System.out.println("1. Simple interest");
System.out.println("2. Precalculated interest");
System.out.println("3. Baloon payment");
System.out.println("4. Exit");

switch(choice){
case 1:{ //simple interest case
for(int m =1;m<=current.n;m++){
System.out.println("Month "+m+": Balance = \$ "+ current.balance(m));
}
}
case 2:{ //precomputed interest case
for(int m =1;m<=current.n;m++){
System.out.println("Month "+m+": Precomputed loan = \$ "+current.precomputed(m));
System.out.println();
}
}
case 3:{
System.out.println();
System.out.print("Month of the baloon payment: ");
System.out.println(current.ballonp(baloonpayment)); //calculated ballon payment for given month
}
case 4:{
exit = false;
}
default:{ //alternative case
System.out.println("Invalid option");
}
} //end of switch statement
}while(!exit); //exit when boolean value exit is true
}
}

Thanks alot

4. Registered User
Join Date
Nov 2004
Location
Minnesota
Posts
99
you need break statements after each of your case statements. Also changed case #4 to exit = true;

Code:
```switch (choice) {
case 1: { //simple interest case
for (int m = 1; m <= current.n; m++) {
System.out.println("Month " + m + ": Balance = \$ "
+ current.balance(m));
}
break;
}
case 2: { //precomputed interest case
for (int m = 1; m <= current.n; m++) {
System.out.println("Month " + m + ": Precomputed loan = \$ "
+ current.precomputed(m));
System.out.println();
}
break;
}
case 3: {
System.out.println();
System.out.print("Month of the baloon payment: ");
//calculated payment for given month
System.out.println(current.ballonp(baloonpayment));
break;
}
case 4: {
exit = true;
}
default: {
System.out.println("Invalid option");
}
} //end of switch statement```

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•

 FAQ Latest Articles Java .NET XML Database Enterprise