## Friday, 19 August 2016

### Chapter 6 Exercise 7, Introduction to Java Programming, Tenth Edition Y. Daniel LiangY.

*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 test 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:

The amount invested: 1000
Annual interest rate: 9
Years Future Value
1        1093.80
2        1196.41
...
29      13467.25
30      14730.57

import java.util.Scanner;

public class Exercise6_7 {
/** Main Method */
public static void main(String[] args) {
Scanner input = new Scanner(System.in); // Create a Scanner
final int NUMBER_OF_YEARS = 30; // Number of years to display

// Prompt the user to enter the investment amount and interest rate
System.out.print("\nEnter investment amount: ");
double amount = input.nextDouble();
System.out.print("Enter annual interest rate in percentage: ");
double annualInterestRate = input.nextDouble();

// Get monthly interest rate
double monthlyInterestRate = annualInterestRate / 1200;

// Print a table that displays future value for the years from 1 to 30
System.out.println("Years     Future Value"); // Table header
for (int years = 1; years <= NUMBER_OF_YEARS; years++) {
System.out.printf("%-10d", years);
System.out.printf("%11.2f\n",
futureInvestmentValue(amount, monthlyInterestRate, years));
}
}

/** Method futureInvestmentValue computes future investement value */
public static double futureInvestmentValue(
double investmentAmount, double monthlyInterestRate, int years) {
return investmentAmount * Math.pow(1 + monthlyInterestRate, years * 12);
}
}