Created
July 7, 2012 03:15
-
-
Save jkdeveyra/3064204 to your computer and use it in GitHub Desktop.
CompoundInterest
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* 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