In deze opgave zul je een spaarrekening simuleren. Op een spaarrekening ontvang je elk jaar rente, afhankelijk van het bedrag dat op je rekening staat en de rentevoet. Speciaal aan deze opgave is echter dat deze rentevoet ook negatief kan zijn, dus dat je geld verliest door het op je spaarrekening te laten staan.
Schrijf een programma dat een startkapitaal inleest, de rentevoet (al dan niet negatief) en een aantal jaar om te simuleren. Toon vervolgens per jaar de nieuwe balans op de spaarrekening, gevolgd door een samenvatting van de totale winst of verlies.
SavingsAccount
zijn.double
, uitgedrukt in euro.double
in het interval [-1,1]. Een rentevoet van 0.04 stelt bijvoorbeeld 4% winst per jaar voor, een rentevoet van -0.02 stelt 2% verlies per jaar voor.Hieronder volgt een voorbeelduitvoering van de opgave. De tekst in het rood stelt invoer van de gebruiker voor en wordt logischerwijs niet uitgeprint door je programma.
Wat is het startbedrag in euro? 1000.0 Wat is de rentevoet? 0.05 Hoeveel jaar wil je simuleren? 5 Bedrag na 1 jaar: €1050,00. Bedrag na 2 jaar: €1102,50. Bedrag na 3 jaar: €1157,63. Bedrag na 4 jaar: €1215,51. Bedrag na 5 jaar: €1276,28. Na 5 jaar bedraagt de winst €276,28.
Hieronder volgt een voorbeelduitvoering van de opgave. De tekst in het rood stelt invoer van de gebruiker voor en wordt logischerwijs niet uitgeprint door je programma.
Wat is het startbedrag in euro? 1000.0 Wat is de rentevoet? -0.01 Hoeveel jaar wil je simuleren? 5 Bedrag na 1 jaar: €990,00. Bedrag na 2 jaar: €980,10. Bedrag na 3 jaar: €970,30. Bedrag na 4 jaar: €960,60. Bedrag na 5 jaar: €950,99. Na 5 jaar bedraagt het verlies €49,01.
Scanner#nextDouble()
gebruikt om een getal te lezen, moet je hierna nog eens expliciet Scanner#nextLine()
oproepen om de rest van de lijn te lezen. Je kan dit vermijden door Double.parseDouble(scanner.nextLine())
te gebruiken in plaats van scanner.nextDouble()
.