Forum: PC-Programmierung Zinsrechnung in Java


von bluff (Gast)


Lesenswert?

Hallo,

der Sinn meines Programms ist, dass man die Zinsen ausrechnen kann, 
indem man angibt auf wieviel Jahre man die Zinsen bezahlt, wie hoch der 
Betrag für das Anfangskapital ist und man dann Jahr für Jahr ausrechnen 
kann wieviel Zinsen man hat. Ich möchte noch hinzufügen das man die 
eizelnen Zinsen der Jahre zusammenrechnen kann auf einem Gesamtbetrag 
aber wie?

Ausgabe in der Konsole sieht wie folgt aus:
1
Anzahl der Jahre =  4
2
Betrag des Anfangskapital =  100
3
   Zinsen im 1.ten Jahr: 2
4
   Zinsen im 2.ten Jahr: 4
5
   Zinsen im 3.ten Jahr: 6
6
   Zinsen im 4.ten Jahr: 8
7
Anzahl der Jahre = : 4
8
Betrag des Anfangskapital = : 100.0
9
Jaehrlicher Zins [%] = : 
10
 2,00 4,00 6,00 8,00
[Der Jaehrlicher Zins sollte addiert werden]

Codierung:
1
import java.util.Scanner;
2
public class zinsrechnung
3
{
4
    public static void main(String[] args)
5
    {
6
        while(true)
7
        {
8
        Scanner scanner = new Scanner (System.in);
9
        int n;
10
        double Ka; 
11
        double P[];
12
         
13
        
14
        System.out.print("Anzahl der Jahre =  ");
15
        n = scanner.nextInt();
16
        
17
        System.out.print("Betrag des Anfangskapital =  ");
18
        Ka = scanner.nextDouble();
19
        
20
        P = new double[n];
21
        for (int i = 0; i < n; i++)
22
        {
23
            System.out.print("Zinsen im " + (i + 1) + ".ten Jahr: ");
24
            P[i] = scanner.nextDouble();      
25
        }        
26
        System.out.println("Anzahl der Jahre = : " + n);
27
        System.out.println("Betrag des Anfangskapital = : " + Ka);
28
        System.out.println("Jaehrlicher Zins [%] = : ");
29
        for (int i = 0; i < n; i++)
30
            System.out.printf("%5.2f", P[i]);
31
        System.out.println();
32
    }
33
}}

: Bearbeitet durch User
von Karl H. (kbuchegg)


Lesenswert?

bluff schrieb:
> Hallo,
>
> der Sinn meines Programms ist, dass man die Zinsen ausrechnen kann,
> indem man angibt auf wieviel Jahre man die Zinsen bezahlt, wie hoch der
> Betrag für das Anfangskapital ist und man dann Jahr für Jahr ausrechnen
> kann wieviel Zinsen man hat. Ich möchte noch hinzufügen das man die
> eizelnen Zinsen der Jahre zusammenrechnen kann auf einem Gesamtbetrag
> aber wie?

Wie machst du es denn, wenn du das mit der Hand und Papier und Bleistift 
rechnest?

du leihst dir 100 Euro aus.
Im ersten Jahr musst du 2% Zinsen zahlen. D.h du zahlst
100 * 2 / 100 = 2 EUro Zinsen

Im zweiten Jahr musst du 4% Zinsen zahlen. Da erhebt sich jetzt die 
Frage: worauf? Welches ist die Berechnungsgrundlage? Hast du die 2 Euro 
Zinsen im ersten Jahr tatsächlich gezahlt, oder schuldest du die noch?
WEnn du sie nicht gezahlt hast, dann schuldest du der Bank ja 2 Euro 
zusätzlich. iim zweiten Jahr hast du also 4% Zinsen auf einen Betrag von 
102 Euro (und nicht 100 Euro wie im ersten Jahr, denn durch die Zinsen 
ist deine Schuld ja größer geworden).

4% von 102 sind
102 * 4 / 100 = 4.08 Euro

Zahlst du diese Zinsen nicht, dann kommen sie logischerweise zu deiner 
SChuld dazu. Du schuldest dann also der Bank bereits 102 + 4.08 = 106.08 
Euro.

Im dritten Jahr zahlst du wieder einen Zinssatz, sagen wir 6%. Wieviel 
macht das in Euro aus?

Du schuldest der Bank 106.08 Euro. Davon sind 6%
106.08 * 6 / 100 = 6.3648 Euro

Und so geht das Jahr für Jahr weiter. Jedes Jahr fallen entsprechend dem 
Zinssatz und den ausstehenden Schulden neue Zinsen an, die dann zu dem 
geschuldeten Betrag dazukommen und im nächsten Jahr bei der 
Zinsberechnung mitgerechent werden.

Und genau so, wie du das am Papier rechnest, genauso setzt du das jetzt 
in deinem Programm um. Du wirst dazu ein paar variablen brauchen, in 
denen du zb die wachsenden SChuldensumme mitführst.

Aber Grundlage ist wie immer: du musst eine Aufgabe händisch mit Papier 
und Bleistift lösen können, ehe du daran gehen kannst ein Programm zu 
schreiben. Denn nur dann, wenn du das alles (zumindest im Prinzip) 
selber auch lösen kannst, ist dir dann auch das Verfahren klar, wie die 
Dinge zu berechnen sind.

Edit: wenn es sich nicht um Schulden handelt sondern um Habenzinsen und 
damit ein wachsendes Kapital, dann funktioniert das ganz genau gleich. 
Du hast ein Kapital und kriegst von deiner Bank entsprechend dem Kapital 
Zinsen gutgeschrieben, die jedes Jahr zum Kapital dazukommen und dann 
bei der nächsten Zinsberechnung einfliessen.

: Bearbeitet durch User
von Amateur (Gast)


Lesenswert?

Das Stichwort hierzu lautet:

"Zinseszins"

https://de.wikipedia.org/wiki/Zinseszins

von Karl H. (kbuchegg)


Lesenswert?

Karl H. schrieb:

> Aber Grundlage ist wie immer: du musst eine Aufgabe händisch mit Papier
> und Bleistift lösen können, ehe du daran gehen kannst ein Programm zu
> schreiben. Denn nur dann, wenn du das alles (zumindest im Prinzip)
> selber auch lösen kannst, ist dir dann auch das Verfahren klar, wie die
> Dinge zu berechnen sind.

D.h. deine Programmausgabe sollte eigentlich so aussehen
1
Anzahl der Jahre =  4
2
Betrag des Anfangskapital =  100
3
   Zinsen im 1.ten Jahr: 2
4
   Zinsen im 2.ten Jahr: 4
5
   Zinsen im 3.ten Jahr: 6
6
   Zinsen im 4.ten Jahr: 8
7
Anzahl der Jahre = : 4
8
Betrag des Anfangskapital = : 100.0
9
10
Kapitalentwicklung:
11
Jahr 1, Kapital 100,00  Zinssatz 2,00%, Zinsen 2,00 neues Kapital 102,00
12
Jahr 2, Kapital 102,00  Zinssatz 4,00%, Zinsen 4,08 neues Kapital 106,08
13
Jahr 3, Kapital 106,08  Zinssatz 6,00%, Zinsen 6,36 neues Kapital 112,44
14
Jahr 4, Kapital 112,44  Zinssatz 8,00%, Zinsen 8,99 neues Kapital 121,43
15
16
Zinsertrag nach 4 Jahren: 121,43 - 100 = 21,43

Allerdings würde mich die Bank interessieren, bei der man heutzutage 8% 
p.a. bekommt :-) In der Realität ist es eher so, dass man über die Jahre 
hinweg keine steigenden Zinssätze bekommt sondern eher das Gegenteil. 
Die Zinssätze sinken Jahr für Jahr. Und nein. Wenn du heute mit deiner 
Bank aushandelst, dass du die nächsten 4 Jahre 2% Zinsen bekommst, dann 
bedeutet das nicht, dass du im 4. Jahr dann 8% Zinsen gutschreiben 
kannst, sondern das Kapital wird einfach nur jedes Jahr mit 2% verzinst. 
Das Kapital wächst zwar aber jedes Jahr 'nur' um 2%.

: Bearbeitet durch User
von Wilhelm S. (wilhelmdk4tj)


Lesenswert?

Karl Heinz hat Recht.

Bevor du hingehst, und ein paar sinnlose Zeilen Quellcode generierst,
wäre es sinnvoller, das mit einem Blatt Papier und einem Taschenrechner
erstmal 'zu Fuss' auszurechnen.
Es soll sogar Menschen geben, die das auch ohne Taschenrechner 
schaffen...
Logarithmentafel, Rechenschieber oder auch nur 'zu Fuss'...??
Wenn du es dann verstanden hast, kannst du es immer noch in den
Quellcode einer beliebigen Programmiersprache umsetzen.

73
Wilhelm

: Bearbeitet durch User
von Mark B. (markbrandis)


Lesenswert?

Karl H. schrieb:
> Die Zinssätze sinken Jahr für Jahr.

Das war freilich nicht immer so. In den USA erwartet man die Zinswende, 
also eine langsame und allmähliche Abkehr von der Niedrigzinspolitik. 
Die EU wird wohl erst später nachziehen. Aber das nur am Rande.

> Und nein. Wenn du heute mit deiner
> Bank aushandelst, dass du die nächsten 4 Jahre 2% Zinsen bekommst, dann
> bedeutet das nicht, dass du im 4. Jahr dann 8% Zinsen gutschreiben
> kannst, sondern das Kapital wird einfach nur jedes Jahr mit 2% verzinst.
> Das Kapital wächst zwar aber jedes Jahr 'nur' um 2%.

Was am Ende der vier Jahre dann natürlich mehr ist, denn 1,02 ^ 4 ist 
größer als 1,08. :-)

: Bearbeitet durch User
von Karl H. (kbuchegg)


Lesenswert?

Mark B. schrieb:

> Was am Ende der vier Jahre dann natürlich mehr ist, denn 1,02 ^ 4 ist
> größer als 1,08. :-)

Aber nicht größer als 1.02 * 1.04 ... ach Mist, Smiley übersehen

Das soll er dann selbst rausfinden, wie sich das verhält. Dazu schreibt 
er sich ja ein Programm, damit man diverse Szenarien selbst durchspielen 
kann. Wenn es dann fertig ist, Papiertaschentücjer bereitlegen, denn 
dann ist bitterlich weinen angesagt, wenn man reale Zinssätze einsetzt 
und das ganze der Inflation gegenüber stellt.

: Bearbeitet durch User
von Simpel (Gast)


Lesenswert?

Falls du es so gemeint hast, dass du jedes Jahr 2% Zinsen bekommst, kann 
das natürlich nicht so gerechnet werden, dass du annimmst das entspräche 
dann 2,4,6,8%... Zinsen in den Folgejahren, bezogen auf das 
Anfangskapital(AK).

Der Faktor entwickelt sich hierbei gemäss der einfachen Formel
AK * (1+Zinssatz/100)^n . n=Jahre

Bei einem Festzinssatz von 2% über z.B. 4 Jahre beträgt der Faktor des 
kumulierten Zinszuwachses 1,02^4 =>  1,08243216 also 8,243216 Prozent.

Wenn du nur den effektiven Zinssatz z.B. des letzten Jahres (bezogen auf 
das Startkapital) ermitteln willst, rechnest du

1,02^4 - 1,02^3 = 0,02122416 , was einem durch den Zinseszins einem 
Zinssatz von 2,122416% bzogen auf das Startkapital entspricht.

von Christian V. (michse)


Lesenswert?

Außerdem: beim Rechnen mit Geld immer decimal verwenden, verhindert 
Rundungsfehler.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.