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);
 }
}

5 comments :

  1. This is the solution for problem 6.6 NOT 6.7! How am I suppose to figure this out when you put in the completely wrong code!? Please fix!

    ReplyDelete
  2. @Bryan Zamora Lazo thank you for pointing out that. I had by mistake wrote 6.6 solution. I have fixed the solution. I really appropriate you guys trying to make these solutions better.

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete
  4. This comment has been removed by the author.

    ReplyDelete