Exercise "Interest calculation "





  • Was spricht dagegen die KiP-Formel zu verwenden? z.B.:

        double interest = (initialCapital * years * interestRate)/100;
        double finalCapital = initialCapital + interest;
    

    Dann lässt sich die Anzahl der Jahre beliebig verändern, ohne dass man eine Loop einbauen muss.



  • @Porsch
    Ganz einfach: »Compunded interest« heißt im Deutschen »Zinseszins«. Dabei wird der jeweils neu hinzukommende Zins im nächsten Jahr mitverzinst, so dass das Gesamtkapital gemäß der in der Aufgabenstellung genannten Formel ein exponentielles Wachstum erfährt.

    Bei Ihrem Modell wird in jedem Jahr nur jeweils das Ausgangskapital verzinst. Es wirkt so, als würden Sie jedesmal nach der jährlichen Verzinsung den entstandenen Zins vom Konto abheben, so dass selbiger eben nicht weiter mitverzinst wird. Dies geht auch ohne Schleife unter Verwendung der Potenzfunktion Math.pow(...):

    final double initialCapital = 223.12;
    final double interestRate = 1.5;
    final int interestPeriodInYears = 3;
    
    // Printing start values
    System.out.println("Initial capital: " + initialCapital + '€');
    System.out.println("Annual interest rate: " + interestRate + '%');
    System.out.println("Interest period: " + interestPeriodInYears +
              (interestPeriodInYears == 1? " years": " years"));
    
    // Calculations
    double finalCapital = initialCapital * Math.pow(1 + interestRate / 100, 3);
    
    // Printing result
    System.out.println("Capital after three years: " + finalCapital);
    


  • Alles klar, danke! Dann war es Zufall dass das Ergebnis gleich war



  • @Porsch
    Die Abweichungen sind bei geringem Zinssatz klein. Probieren Sie mal 20% und 100 Jahre.


Log in to reply