*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

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

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@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