Write a program that takes two numbers from the Java console

Write a program that takes two numbers from the Java console representing, respectively, an investment and an interest rate (you will expect the user to enter a number such as .065 for the interest rate, representing a 6.5% interest rate). Your program should calculate and output (in $ notation) the future value of the investment in 5, 10, and 20 years using the following formula: future value = investment * (1 + interest rate)year We will assume that the interest rate is an annual rate and is compounded annually.

This is what I have so far- the program runs just fine I\'m just having a hard time figuring out how to convert the future value into US dollars. Right now I\'m getting back a long scientific number, so please help me figure out how to convert :)

import java.util.*;
public class calculate {
public static double getFutureValue(int investment,double interestRate,int year)
{
return Math.pow(investment*(1+interestRate),year);
}
public static void main(String[] args) {
   int investment;
   double dollars;
double interestRate;
Scanner keyboard = new Scanner(System.in);
  
System.out.println(\"Enter the investment > \");
investment = keyboard.nextInt();

System.out.println(\"Enter the interest rate > \" );
interestRate = keyboard.nextDouble();
  
System.out.println(\"With an investment of $\"+investment);

  
System.out.println(\"at an interest rate of \"+interestRate+\"% compounded annually:\");
  
double futureValue = getFutureValue(investment,interestRate,5);
System.out.println(\"The future value after 5 years is : \"+futureValue);

futureValue = getFutureValue(investment,interestRate,10);
System.out.println(\"The future value after 10 years is : \"+futureValue);

futureValue = getFutureValue(investment,interestRate,20);
System.out.println(\"The future value after 20 years is : \"+futureValue);
  


}
}

Solution

Note:

1) I made changes according to the requirement.

2) I have noticed some errors in the calculation part.So made changes in that area.

3) I formatted the output limiting to two decimal places.

Just run the program .If you find any thing wrong just tell me I will make changes.Thank You.

____________________

Calculate.java

import java.text.DecimalFormat;
import java.util.*;

public class Calculate {
   //This method will calculate the future value based on compound interest
   public static double getFutureValue(int investment, double interestRate,
           int year) {
       return (investment * Math.pow ((1+ interestRate / 12 ) , year*12));

   }

   public static void main(String[] args) {
       //Declaring the variables
       int investment;
       double dollars;
       double interestRate;
      
       //Scanner class object is used to get the inputs entered by the user
       Scanner keyboard = new Scanner(System.in);
      
       //DecimalFormat Object is used To format the output
       DecimalFormat df=new DecimalFormat(\"#.##\");

       //getting the investment entered by te user
       System.out.print(\"Enter the investment : $\");
       investment = keyboard.nextInt();

      
       //getting the investment rate entered by the user
       System.out.print(\"Enter the interest rate : %\");
       interestRate = keyboard.nextDouble();

       System.out.println(\"With an investment of $\" + investment);

       System.out.println(\"at an interest rate of \" + df.format(interestRate*100)
               + \"% compounded annually:\");

       double futureValue = getFutureValue(investment, interestRate, 5);
       //Displaying the amount after 5 years
       System.out
               .println(\"The future value after 5 years is : $\" + df.format(futureValue));

       futureValue = getFutureValue(investment, interestRate, 10);
      
       //Displaying the amount after 10 years
       System.out.println(\"The future value after 10 years is : $\"
               + df.format(futureValue));

       futureValue = getFutureValue(investment, interestRate, 20);
      
       //Displaying the amount after 20 years
       System.out.println(\"The future value after 20 years is : $\"
               + df.format(futureValue));

   }
}

______________________

output:

Enter the investment : $650
Enter the interest rate : %0.068
With an investment of $650
at an interest rate of 6.8% compounded annually:
The future value after 5 years is : $912.34
The future value after 10 years is : $1280.56
The future value after 20 years is : $2522.82

____________Thank You

Write a program that takes two numbers from the Java console representing, respectively, an investment and an interest rate (you will expect the user to enter a
Write a program that takes two numbers from the Java console representing, respectively, an investment and an interest rate (you will expect the user to enter a
Write a program that takes two numbers from the Java console representing, respectively, an investment and an interest rate (you will expect the user to enter a

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site