Skip to content

Instantly share code, notes, and snippets.

@jkdeveyra
Created July 7, 2012 03:15
Show Gist options
  • Save jkdeveyra/3064204 to your computer and use it in GitHub Desktop.
Save jkdeveyra/3064204 to your computer and use it in GitHub Desktop.
CompoundInterest
/**
* This program shows how to store tabular data in a 2D array.
*
* @version 1.40 2004-02-10
* @author Cay Horstmann
*/
public class CompoundInterest {
public static void main(String[] args) {
final double STARTRATE = 10;
final int NRATES = 6;
final int NYEARS = 10;
// set interest rates to 10 . . . 15%
double[] interestRate = new double[NRATES];
for (int j = 0; j < interestRate.length; j++)
interestRate[j] = (STARTRATE + j) / 100.0;
double[][] balances = new double[NYEARS][NRATES];
// set initial balances to 10000
for (int j = 0; j < balances[0].length; j++)
balances[0][j] = 10000;
// compute interest for future years
for (int i = 1; i < balances.length; i++) {
for (int j = 0; j < balances[i].length; j++) {
// get last year's balances from previous row
double oldBalance = balances[i - 1][j];
// compute interest
double interest = oldBalance * interestRate[j];
// compute this year's balances
balances[i][j] = oldBalance + interest;
}
}
// print one row of interest rates
for (int j = 0; j < interestRate.length; j++)
System.out.printf("%9.0f%%", 100 * interestRate[j]);
System.out.println();
// print balance table
for (double[] row : balances) {
// print table row
for (double b : row)
System.out.printf("%10.2f", b);
System.out.println();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment