3Danke
ERLEDIGT
NEIN
NEIN
ANTWORTEN
9
9
ZUGRIFFE
900
900
EMPFEHLEN
-
Aufgabe 4: Zinsberechnung
Ein Konto wurde am 1.2.2010 eröffnet und am 1.10.2010 will man wissen, wie viel Geld auf dem
Konto jetzt (inklusive Zinsen) vorhanden ist. Dazu stehen alle Ein- und Auszahlungen, die in
diesem Zeitraum gemacht wurden, in einem Journal zur Verfügung. Sie können davon ausgehen,
dass das Journal chronologisch geordnet ist. Beim Erzeugen eines ZinsBerechnungs Objekts wird das Journal mit Ein- und
Auszahlungen initialisiert.
Implementieren Sie die Methode berechneZins(…).
Wir hatten bis jetzt die drei Schleifenarten und if Bedingungen. Man sollte die Aufgabe mit diesen Methoden lösen.
Vorgabeprogramm:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
public class ZinsBerechnung { private EinAusZahlung[] journal = new EinAusZahlung [10]; private float rate = 0.125f; /** * Constructor for objects of class ZinsBerechnung */ public ZinsBerechnung() { // initialise instance variables journal [0] = new EinAusZahlung(01, 02, 2010, +500); journal [1] = new EinAusZahlung(01, 04, 2010, -200); journal [2] = new EinAusZahlung(01, 04, 2010, +700); journal [3] = new EinAusZahlung(01, 05, 2010, -500); journal [4] = new EinAusZahlung(01, 06, 2010, +1000); journal [5] = new EinAusZahlung(01, 06, 2010, -500); journal [6] = new EinAusZahlung(01, 06, 2010, -500); journal [7] = new EinAusZahlung(01, 07, 2010, +500); journal [8] = new EinAusZahlung(01, 9, 2010, +1000); journal [9] = new EinAusZahlung(01, 10, 2010, -2000); } /** * An example of a method - replace this comment with your own * * @param journal Ein-/Auszahlungen * @return zins */ public float berechneZins(EinAusZahlung[] journal) { // Hier kommt Ihre Lösung hin } public void testCaseZinsRechnung() { float zins; zins = berechneZins(journal); System.out.println("Der Zins beträgt: " + zins); } }
Ich habe keine Ahnung wie ich das lösen soll.. Gibt es eine Möglichkeit nur immer die Ein/bzw. Auszahlungen auszulesen aus den Arrays? Die Arrays wurden so vom Dozenten vorgegeben.
Ausserdem möchte das Programm immer eine Eingabe wenn ich es starten will. Ich weiss aber nicht was es erwartet.Geändert von Santana2 (25.11.10 um 15:53 Uhr)
-
Es wäre interessant die Klasse EInAusZahlung mal zu sehen.
-
Es wäre wirklich interessant zu sehen, wie die Klasse EinAusZahlung aufgebaut ist. Sicherlich hat sie eine return-Methode, welche dir den Wert zurück gibt.
Um dann den Wert auszurechnen, gehst du über eine Forschleife (ggf. auch while, wie du es gern magst) , weil du ja die Länge(größe) des Array weißst, addierst alle Werte und rechnest dann den Zins drauf (vorrausgesetzt ihr sollt nur am Ende Zinsen geben)
Eine Methode, die wartet, bis du eine Taste drückst, existiert hier soweit auch gar nicht. Die müsstest du selber anlegen, bist du dir da sicher, dass das gefordert ist, wo ihr gerade mal Schleifen lernt? Oder exisitiert diese schon irgendwo in einer anderen Klasse, dann solltest du die Klassen natürlich auch Posten.Geändert von Herbertus (25.11.10 um 13:44 Uhr)
-
Klasse EinAusZahlung:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
public class EinAusZahlung { private int tag, monat, jahr; private int umsatz; public EinAusZahlung(int tag, int monat, int jahr, int umsatz) { // initialise instance variables this.tag = tag; this.monat = monat; this.jahr = jahr; this.umsatz = umsatz; } public int getDay() { return tag; } public int getMonth() { return monat; } public int getYear() { return jahr; } public int getUmsatz() { return umsatz; } }
Der Dozent bezieht sich auf ein Beispiel, welches wir früher mal hatten. Dabei mussten wir von Hand eine Zinsberechnung durchführen. Dort mussten wir folgendermassen vorgehen:
Den Saldostand anhand der Einauszahlungsliste am 1. jedes Monates berechnen.
Davon jeden Monat den Zins berechnen.
Am Ende die Zinsen jedes Monates zusammenrechnen und am Ende durch die Anzahl Monate dividieren, in welchen Zinsen berechnet wurden (Im Beispiel 12)Geändert von Santana2 (25.11.10 um 15:54 Uhr)
-
Schreib deinen Code doch bitte in java-tags, danke
Waere super wenn ihr euren Code in dieser Form einfuegt:
[JAVA]System.out.println("Test :)");[/JAVA]
wird zu:
Tabs sind uebrigens keine Feinde :)Code java:1
System.out.println("Test :)");
Der "Erledigt Button" beisst net :) Und der "Danke Button" ist auch nicht nur zur zierde
Danke :D
-
Habe nun folgendes probiert:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
public float berechneZins(EinAusZahlung[] journal) { float Saldo = 0; float Mittenzahl = 0; float Zins = 0; int Verteilung = 100; for (int j = 0; j < journal.length; j++) { if (journal.length < 0) { } else { Saldo = journal [j].getUmsatz() + Saldo; } Mittenzahl = Saldo / Verteilung; Zins = Mittenzahl * rate; } return Zins;
Kann aber nicht Testen, ob das richtig ist, ich bekomme immer folgendes Bild (Das kommt auch, wenn ich noch keinen Code einfüge, also nur das vorgegebene Musterprogramm des Dozenten öffne)
-
1. Bitte Variablen in Java klein schreiben

2. Das if (journal.length < 0) { kannst rauslassen
Da du in der for-Schleife ja schon nach der Länge schaust, und er gar net in die forschleife kommt, wenn die länge 0 ist.
Bei journal [j] nimmt das Leerzeichen weg
3. Er erwartet einen Parameter beim Aufruf der Methode berechneZins (@param journal Ein-/Auszahlungen). Klick anstatt dem "float berechne Zins" einfach mal "testCaseZinsRechnung" an
Denn dort ruft er ja schon die Methode berechneZins auf
Geändert von MiMi (25.11.10 um 18:35 Uhr)
Waere super wenn ihr euren Code in dieser Form einfuegt:
[JAVA]System.out.println("Test :)");[/JAVA]
wird zu:
Tabs sind uebrigens keine Feinde :)Code java:1
System.out.println("Test :)");
Der "Erledigt Button" beisst net :) Und der "Danke Button" ist auch nicht nur zur zierde
Danke :D
-
bei test case Zinsrechnung gibt er mir 0 aus.
Ich glaube ich bewege mich in die falsche Richtung.
Mein Ziel war es, zum einen Immer das Saldo am Monatsende herauszufinden. Dazu kann ich ja leider nicht einfach jedes Saldo aus den arrays auslesen, da ja z.t. mehrere Bewegungen an einem Tag stattfinden.
Wenn ich die Saldi an jedem Monatsende habe, kann ich diese addieren und daraus den Gesamtzins errechnen.
Kann ich irgendwie angeben, dass er nur die letzte Zahl (oder wie nennt man die Einträge im Array) rauspickt?
z.b:
Code java:1
journal [0] = new EinAusZahlung(01, 02, 2010, +500);
Dass er mir hier nur die +500 am ende nimmt und damit etwas macht?
-
Das geht hier net wirklihc ums Array sondern um dein Objekt. Dieses hat folgenden Konstruktor:
Diese Werte gibst du beiCode java:1
EinAusZahlung(int tag, int monat, int jahr, int umsatz)
mit. D.h. von deiner EinAusZahlung brauchst du den Umsatz. Diesen bekommst du durch die getMethodeCode java:1
journal [0] = new EinAusZahlung(01, 02, 2010, +500);
Wie du ja oben schon gemacht hattest (nur muss dies halt ohne das Leerzeichen nach dem journal/ arraynamen)
Hier bekommst du den Umsatz von der EinAuszahlung von Position j im Array.Code java:1
journal[j].getUmsatz()
Geändert von MiMi (26.11.10 um 08:33 Uhr)
Waere super wenn ihr euren Code in dieser Form einfuegt:
[JAVA]System.out.println("Test :)");[/JAVA]
wird zu:
Tabs sind uebrigens keine Feinde :)Code java:1
System.out.println("Test :)");
Der "Erledigt Button" beisst net :) Und der "Danke Button" ist auch nicht nur zur zierde
Danke :D
-
Doch, da du mit der Methode getMonth() aus der KlasseEInAusZahlung ja den Monat weißt. Sobald sich der Wert ändert, wird der Wert nicht mehr addiert und die Addition der Werte abgebrochen.Mein Ziel war es, zum einen Immer das Saldo am Monatsende herauszufinden. Dazu kann ich ja leider nicht einfach jedes Saldo aus den arrays auslesen, da ja z.t. mehrere Bewegungen an einem Tag stattfinden.
getMonth liefert 1 zurück, wird addiert, .. getMonth liefert 1 zurück, wird addiert,.. getMonth liefert 2 zurück, abbruch. Ein ganz simples vergleiche mit dem vorrangegangen Wert..
Ähnliche Themen
-
Return eines Arrays
Von realbora im Forum C/C++Antworten: 2Letzter Beitrag: 09.06.08, 16:12 -
Zinsberechnung
Von joky_joky im Forum PHPAntworten: 1Letzter Beitrag: 18.04.05, 11:25 -
Programm zur Zinsberechnung
Von Anouschka_93 im Forum C/C++Antworten: 8Letzter Beitrag: 01.12.04, 11:08 -
größe eines arrays
Von shrewm im Forum C/C++Antworten: 2Letzter Beitrag: 26.11.04, 15:50





Zitieren
Login





