Control Statements
Loops
nested for
Nested for loops that print a table of future values
// get the currency and percent formatters NumberFormat currency = NumberFormat.getCurrencyInstance(); NumberFormat percent = NumberFormat.getPercentInstance(); percent.setMinimumFractionDigits(1); // set the monthly payment to 100 and display it to the user double monthlyPayment = 100.0; System.out.println("Monthly Payment: " + monthlyPayment); System.out.println(); // declare a variable to store the table String table = " "; // fill the first row of the table for (double rate = 5.0; rate < 7.0; rate += .5) { table += percent.format(rate/100) + " "; } table += "\n"; // loop through each row for (int years = 4; years > 1; years--) { // append the years variable to the start of the row String row = years + " "; // loop through each column for (double rate = 5.0; rate < 7.0; rate += .5) { // calculate the future value for each rate int months = years * 12; double monthlyInterestRate = rate/12/100; double futureValue = 0.0; for (int i = 1; i <= months; i++) { futureValue = (futureValue + monthlyPayment) * (1 + monthlyInterestRate); } // add the calculation to the row row += currency.format(futureValue) + " "; } table += row + "\n"; row = ""; } // display the table to the user System.out.println(table);