Compounding interest-Programm in Java
Ich versuche, dies zu schreiben, compounding interest-Programm mit einer do-while-Schleife am Ende und ich kann nicht herausfinden, wie drucken Sie die endgültige Höhe.
Hier ist der code, den ich bisher :
public static void main(String[] args) {
double amount;
double rate;
double year;
System.out.println("This program, with user input, computes interest.\n" +
"It allows for multiple computations.\n" +
"User will input initial cost, interest rate and number of years.");
Scanner keyboard = new Scanner(System.in);
System.out.println("What is the initial cost?");
amount = keyboard.nextDouble();
System.out.println("What is the interest rate?");
rate = keyboard.nextDouble();
rate = rate/100;
System.out.println("How many years?");
year = keyboard.nextInt();
for (int x = 1; x < year; x++){
amount = amount * Math.pow(1.0 + rate, year);
}
System.out.println("For " + year + " years an initial " + amount + " cost compounded at a rate of " + rate + " will grow to " + amount);
String go = "n";
do{
System.out.println("Continue Y/N");
go = keyboard.nextLine();
}while (go.equals("Y") || go.equals("y"));
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das Problem ist, die
amount = amount * Math.pow(1.0 + rate, year);
. Sie überschreiben die ursprüngliche Menge mit der berechneten Menge. Sie benötigen einen separaten Wert zu halten, den berechneten Wert, während noch halten den ursprünglichen Wert.Also:
Dann in Ihrer Ausgabe:
EDIT: Alternativ, können Sie eine Linie, eine variable, und nur die Berechnung inline, als solche:
finalAmount
müssen Sie erklären diefinalAmount
variable, wie Sie erklärt, alle anderen Variablen. Wie auch immer, ich bin froh, Sie haben es zu arbeiten. Wenn Sie meine Lösung, bitte nehmen Sie es als eine Antwort. Danke.