Learn how to write a Java program to compute the future investment value using compound interest over 1 to 30 years. This example includes the futureInvestmentValue
method, uses System.out.printf
for formatted output, and applies the financial formula from Exercise 2.21. Full code for Lab06.java is provided.
6.7 (Financial application: compute the future investment value) Write
a method that computes future investment value at a given interest rate
for a specified number of years. The future investment is determined
using the formula in Programming Exercise 2.21. Use the following method
header: public static double futureInvestmentValue(double
investmentAmount, double monthlyInterestRate, int years) For example,
futureInvestmentValue(10000, 0.05/12, 5) returns 12833.59. Write a
program that prompts the user to enter the investment amount (e.g.,
1000) and the interest rate (e.g., 9%) and prints a table that displays
future value for the years from 1 to 30, as shown below. First, truncate
the future value values to two decimals (See Chapter 2). Then use the
System.out.printf() method to format the output (See Chapter 4).
Program name:
Lab06.java
Sample Runs:
The amount invested: 1000
Annual interest rate: 5
Years Future Value
1 1051.16
2 1104.94
3 1161.47
4 1220.89
5 1283.35
6 1349.01
7 1418.03
8 1490.58
9 1566.84
10 1647.00
11 1731.27
Answer
import
java.lang.Math;
import
java.util.Scanner;
public
class Lab06 {
public
static void main(String[] args) {
Scanner
input = new Scanner(System.in);
System.out.print("The
amount invested:");
double
investmentAmount = input.nextDouble();
System.out.print("Annual
interest rate:");
double
InterestRate = input.nextDouble();
double
monthlyInterestRate = InterestRate / (12.0*100.0);
System.out.print("Years\tFuture
Value\n");
//returns
12833.59
for(int
i = 1 ; i <= 30 ; i++){
System.out.printf("%d\t%.2f\n",i,futureInvestmentValue(investmentAmount,
monthlyInterestRate, i));
}
}//main
public
static double futureInvestmentValue(double investmentAmount, double
monthlyInterestRate, int years) {
return
investmentAmount * Math.pow( (1 +monthlyInterestRate) , years*12 )
;
}
}//class