Hello,
Can anyone advise me on why I can't get the following code to loop? I'm trying to get continuous calculation until the variable amount = 0.
I will work out display params after I get the loop to work. I'm new to Java, but not coding. This is a simple program so there's probably a simple answer.
My thanks to anyone willing to teach me.
Thanks
DW
Code:
import java.text.*;
class Wk3
{
public static void main (String[] arguments) //create main
{
int term = 30; //init var for length of loan
double amount = 200000; //init var for loan amt
double pmt = 0; //init var for payment
double rate = .0575; //init var for interest rate
double rateMo = 0; //init var for monthly interest paid
{
rate = (rate/12); //divide annual rate to get monthly rate
term = (term * 12); //multiply years to get length in months
pmt= (amount * (rate)) / (1-Math.pow(1 + rate, - term)); //compute payment
{
if (amount > 0) //run if counter >0
{
java.text.DecimalFormat dec = new java.text.DecimalFormat(",###.00"); //format next output to dollars.cents
System.out.println("\nThis months payment is $" + dec.format (pmt)); //display payment
System.out.println ("\nYour loan balance is $" + dec.format (amount)); //display loan amt
System.out.println("\nThis months interest is $" + dec.format (amount * (rate ))); //montly interest payment
}
amount -= pmt;
}
}
}
}
03-20-2005, 10:46 PM
chuck
i can see your problem already. it's not a loop. you put everything in the main method and it all should just run once. to get it to run multiple times put one of the type of loops (do...while, while, for) inside the main function with the coding inside the loop.
ex:
Code:
import java.text.*;
class Wk3
{
public static void main (String[] arguments) //create main
{
int term = 30; //init var for length of loan
double amount = 200000; //init var for loan amt
double pmt = 0; //init var for payment
double rate = .0575; //init var for interest rate
double rateMo = 0; //init var for monthly interest paid
while (amount != 0) //beginning of while loop
{
rate = (rate/12); //divide annual rate to get monthly rate
term = (term * 12); //multiply years to get length in months
pmt= (amount * (rate)) / (1-Math.pow(1 + rate, - term)); //compute payment
{
if (amount > 0) //run if counter >0
{
java.text.DecimalFormat dec = new java.text.DecimalFormat(",###.00"); //format next output to dollars.cents
System.out.println("\nThis months payment is $" + dec.format (pmt)); //display payment
System.out.println ("\nYour loan balance is $" + dec.format (amount)); //display loan amt
System.out.println("\nThis months interest is $" + dec.format (amount * (rate ))); //montly interest payment
}
amount -= pmt;
}//end of while loop
}
}
}