Das Programm "probiert" verschiedene Zinssätze aus, beginnend mit Null Prozent. Für jeden Zinssatz muss der Dollarbetrag auf den Betrag des ersten Jahres zurückgesetzt werden.
Die Art wie die Variable zinssatz initialisiert und dann sofort
inkrementiert wird ist unbeholfen.
Hier ist ein Programm mit möglicherweise einem Bug, das dies auf eine andere Art tut:
class MillionDollarBuggy
{
public static void main( String[] args )
{
double anfangsbetrag = 1000.00 ;
double dollars = 0.0;
double zinssatz;
int jahre;
zinssatz = 0.0; // Start interest zinssatz at zero
while ( dollars < 1000000 )
{
// Dollars nach 40 Jahren beim gegenwärtigen Zinssatz berechnen
jahre = 1 ;
dollars = anfangsbetrag;
while ( jahre <= 40 )
{
dollars = dollars + dollars*zinssatz ; // Zinsen für ein weiteres Jahr addieren
dollars = dollars + 1000 ; // fügen Sie die jährliche Einzahlung hinzu
jahre = jahre + 1 ;
}
// zum nächsten Zinssatz wechseln
zinssatz = zinssatz + 0.001;
}
System.out.println("Nach 40 Jahren bei " + zinssatz*100
+ "Prozent Zinsen werden Sie" + dollars + " Dollar haben." );
}
}