Link to home
Start Free TrialLog in
Avatar of melverc
melverc

asked on

java mortgage code

My program below runs great but my teacher does not like the following. He wants me to "use variable name that mean something" instead if
H = P * J;
C = M - H;
Q = P - C;
P = Q;
 I asked him what he means and he never answered back. Can any one help me???




//class MortgageCalculator5

import java.math.*; //*loan calculator
import java.text.*; //*formats numbers


class MortgageCalculator5{
public static void main(String arguments[]) throws Exception
{
//Program variables

double Rate[] = {.0575, .0550, .0535};
int N[] = {360, 180, 84};

for (int i=0; i<3; i++) { //step thru array

double P = 200000;//*Loan amount
double J = Rate[i] /12; //*Monthly interest
double discount = (Math.pow((1 + J), N[i]) - 1) / (J * Math.pow((1 + J), N[i]));
double M = P / discount; //* Monthly payment calculation
double H;//*Current monthly interest
double C; //*Principal payment each month minus interest
double Q;//*New balance of loan

//*Output for monthly payment
java.text.DecimalFormat dfm = new java.text.DecimalFormat(",###.00");
System.out.println("Your payment for the " +N[i]+ " month loan is $" +dfm.format(M));

for (int a=0; a < N[i]; a=a+1) { //*For loop

H = P * J;
C = M - H;
Q = P - C;
P = Q;

if (a % 6 == 0) {
System.out.println("Press return to continue");
System.in.read(); //causes the program to wait for a keypress
}
System.out.println (" Principal paid this month is $" + dfm.format(C));
System.out.println (" Interest paid this month is $" + dfm.format(H));
System.out.println (" New loan balance is $" + dfm.format(Q));

}
}
}
}


Avatar of CI-Ia0s
CI-Ia0s

Yup. Instead of using letters, use variable names that actually give some idea of what the variables stores. For instance, for a variable the holds the interest rate, call it interestRate.
P.S. Then you don't need those comments after each variable declaration as the variables are "self documenting" (there's a vocab word... well, phrase ;) ).
ASKER CERTIFIED SOLUTION
Avatar of CI-Ia0s
CI-Ia0s

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial