I have a project where I have to write a program that prompts the user for an initial investment amount and a goal investment amount and calculate how many years it will take to grow from the initial amount to the goal amount with a fixed interest rate (ie: 5 %). (use the WHILE loop). Print out the results from each year. For example, if you chose to invest $1,000 for 5 years:
Year 1 1005
Year 2 1011
Etc:
I was able to compile the java program but I was only able to prompt the user for an initial investment and goal investment with a 5% interest. The output was incorrect. What am I doing incorrect? Here is my code.
import static java.lang.System.out;
import java.util.Scanner;
import java.io.*;
public class Investment_Calculator {//main
public static void main(String[] args) {//begins body
double principal = 1;//initial amount investing
double interest = 1;
double rate = 0.05;//the fixed interest amount
int years = 1;//amout of years it will take to achieve goal
double goal = 1;
double total = 1;
Scanner myScanner = new Scanner(System.in);
System.out.println("*************************************** ");
System.out.println("* Welcome to the Investment Calculator * ");
System.out.println("*************************************** ");
System.out.println ("Enter your initial investment amount: if you want to exit enter 0.");
int inputNumber = myScanner.nextInt();
principal = inputNumber;
if (inputNumber == 0){//if num = 0 exit class
System.exit(0);
}
System.out.println ("Enter your goal investment amount: ");
int inputNumber2 = myScanner.nextInt ();
goal = inputNumber2;
System.out.println ("The fixed interest rate is 5%");
total= principal; // start with our initial amount of money
for (; total < goal; total= (1+interest)*total);
{ System.out.print("The number of years you must invest to meet your goal of $ ");
System.out.print(goal);
System.out.print(" is");
System.out.println(years);
System.out.println(" years");
}
}
}
You have a semi-colon at the end of this loop. Remove it.
Because of that, your next set of
printstatements after for loop becomes anunnamed block: –And those will be executed only once.
UPDATE: –
You can use the below code to get the totalInterest for each year and the final output