Hallo ich will ein Programm schreiben, was normale Bankkredite die monatlich zu zahlenden Raten ermittelt, wenn folgende Daten gegeben sind:
Nettokreditsumme
effektiver Jahreszins (Erläuterung siehe unten)
Laufzeit (in Monaten)
zunächhst soll eine Funktion, die unter zusätzlicher Annahme einer fiktiven Monatsrate die verbleibende Restschuld ermittelt. Verwenden Sie diese Funktion anschliessend, um die genaue Monatsrate zu berechnen: diese muss so hoch sein, dass die Restschuld am Ende der Kreditlaufzeit (nahezu ca 0.22€) Null wird.
ja nun gut das programm funktioniert zwar gibt mir aber iwie nicht das richtige ergebnis aus
am ende soll so etwas herauskommen: (nur ohne die striche )
Nettokreditsumme ----- Effektiver Zins-----Laufzeit-----Rate-----Restschuld
6000 -------------------9.2---------------36-------100-------3705.48
6000--------------------9.2---------------48-------100-------2795.80
6000--------------------9.2---------------36-------180---------419.40
17000--------------------4.9---------------48-------389.83-------0.22
17000--------------------4.9---------------48-------389.84-------0.29
also hauptsache ich komme erstmal auf die richige restschuld. das ist schonaml viel wert.
denn hiermit komm ich nicht drauf:
wär echt super, wenn jemand weiß wie manf die die richitge restschuld kommt
lg
Nettokreditsumme
effektiver Jahreszins (Erläuterung siehe unten)
Laufzeit (in Monaten)
zunächhst soll eine Funktion, die unter zusätzlicher Annahme einer fiktiven Monatsrate die verbleibende Restschuld ermittelt. Verwenden Sie diese Funktion anschliessend, um die genaue Monatsrate zu berechnen: diese muss so hoch sein, dass die Restschuld am Ende der Kreditlaufzeit (nahezu ca 0.22€) Null wird.
ja nun gut das programm funktioniert zwar gibt mir aber iwie nicht das richtige ergebnis aus
Java:
// Diese Klasse stellt elementare Kreditberechnungen an:
class Kredit {
private static long netto; // Nettokreditsumme in Cent
private static double effZins; // effektiver Jahreszins
private static int monate; // Kreditlaufzeit
private static long rate;
private static String euro(long betrag)
{return "";
// gib Betrag a (gegeben in Cent)
// als Betrag in Euro aus:
// BEACHTE: evtl. Vorzeichen
// Mantisse immer 2-stellig
// Beispiele:
// a = -111 ====> "-1.11"
// a = 87600 ====> "876.00"
// a = 2510 ====> "25.10"
}
private static long restschuld (long rate)
{
double schuld =netto;
double zins=0;
int j=12;
for(int i=0; i<monate; i++){
schuld=schuld-rate;
zins=zins+(schuld*(effZins/1200));
if((i==j)||(i==monate)){
schuld=schuld+zins;
zins=0; j=j*2;
}
}
return (long)schuld;
}
/* was ist KAUFMAENNISCHES RUNDEN ??
alle Zahlen mit Mantisse < .5 abrunden
alle Zahlen mit Mantisse >= .5 aufrunden
das ist leicht mit Hilfe der expliziten Umwandlung von double nach
int (bzw. long) zu realisieren:
kaufmaennisch_gerundete_int_zahl = (int) (double_zahl + 0.5);
*/
private static long rate()
{
return 1;// TODO
}
public static void main(String[]s)
{
System.out.print("Nettokreditrahmen (ganze Euro): ");
netto=100*Keyboard.readInt(); // Umrechnung in Cent
System.out.print("effektiver Jahreszins (%): ");
effZins=Keyboard.readDouble(); // ACHTUNG: Eingabe mit
// DezimalPUNKT, kein Kommahttp://www.java-forum.org/newthread.php?do=newthread&f=17
System.out.print("Laufzeit (Monate): ");
monate=Keyboard.readInt();
System.out.print("Rate (Cent): ");
rate=Keyboard.readInt();
System.out.println("restschuld: " +restschuld(rate)/100 +"€");
/*
zusaetzlich noch eine Rate mittels Keyboard.readDouble()
einlesen (auch in Cent umrechnen !) und Restschuld ausgeben !
aus den gegebenen Werten (netto, effZins und monate) die
zu zahlende Rate ausgeben (unter Vernachlaessigung eines
evtl. abweichenden Betrages fuer die letzte Rate)
*/
}
}
am ende soll so etwas herauskommen: (nur ohne die striche )
Nettokreditsumme ----- Effektiver Zins-----Laufzeit-----Rate-----Restschuld
6000 -------------------9.2---------------36-------100-------3705.48
6000--------------------9.2---------------48-------100-------2795.80
6000--------------------9.2---------------36-------180---------419.40
17000--------------------4.9---------------48-------389.83-------0.22
17000--------------------4.9---------------48-------389.84-------0.29
also hauptsache ich komme erstmal auf die richige restschuld. das ist schonaml viel wert.
denn hiermit komm ich nicht drauf:
Java:
private static long restschuld (long rate)
{
double restsch =netto;
double zins=0;
int j=12;
for(int i=0; i<monate; i++){
restsch=restsch-rate;
zins=zins+(restsch*(effZins/1200));
if((i==j)||(i==monate)){
restsch=restsch+zins;
zins=0; j=j*2;
}
}
return (long)restsch;
}
wär echt super, wenn jemand weiß wie manf die die richitge restschuld kommt
lg