• Hallo liebe Leute,

    ich habe ein kleines Java-Programmierungsproblem. In dem unten stehendem Quellcode müsste die monatliche zahlung bei jedem Output stehen. Nun ist meine Frage.

    Wie kann ich die monatliche Zahlung in jedem der 3 Ausgaben einfügen?

    Vielen Dank für schnelle Antworten
    grüsse

    //Mortgage Program /
    //This program will calculate and display the mortgage /
    //monthly payments for three different loans given the /
    //amount, the term and the interest rate of the mortgage. /
    //Hardcoded amounts are provided by the instructor. / /
    //Version 1 /
    //Modification 1 /
    //This program has been modified to display 3 mortgage loans,/
    //7 year at 5.35%, 15 year at 5.5%, and 30 year at 5.75%, /
    //using an array for the different loans. In addition, this /
    //program will display the mortgage payment amount for each /
    //loan. /
    //Version 1.1 /
    //////////////////////////////////////////////////////////////

    //To set digits after decimal point//
    import java.text.NumberFormat;

    class MortgageArray {
    public static void main(String args[])throws InterruptedException
    {
    double principal = 200000; //Hardcoded amounts//
    double []percent = new double [3];
    percent[0] = 5.35/100;
    percent[1] = 5.5/100;
    percent[2] = 5.75/100;
    short []nyears = new short[3];
    nyears[0] = 7 ;
    nyears[1] = 15;
    nyears[2] = 30;


    //Used to set two digits after decimal point//
    NumberFormat fmt = NumberFormat.getInstance();
    fmt.setMaximumFractionDigits(2);
    fmt.setMinimumFractionDigits(2);

    //Displays Results

    System.out.println("\nPrincipal = $" + fmt.format(principal) + "\nInterest = "
    + percent[0] + "%"
    + "\nYears = " + nyears[0]);
    System.out.println("Monthly Payments = $ " +fmt.format(pmt));

    System.out.println("\nPrincipal = $" + fmt.format(principal) + "\nInterest = "
    + percent[1] + "%"
    + "\nYears = " + nyears[1]);
    System.out.println("Monthly Payments = $"+fmt.format(pmt));

    System.out.println("\nPrincipal = $" + fmt.format(principal) + "\nInterest = "
    + percent[2] + "%"
    + "\nYears = " + nyears[2]);
    System.out.println("Monthly Payments = $"+fmt.format(pmt));

    //Formula calculations to figure monthly payments//
    //Principal= 200000*(5.75/(1-(1+5.75)^-360))//
    //Reference Chou, H.(2000)US Mortgage formula//
    double intmo = percent / 12;
    int npmts = nyears * 12;
    double pmt = principal * (intmo / (1 - Math.pow(1 + intmo, -npmts)));

    }

    }

  • Ich versteh deine Frage nicht, kannst du das genauer formulieren? Ansonsten is da einiges ziemlich unlogisch und falsch. Ich vermute Mal du wolltest das hier:

    Code
    for (int gg = 0;gg<3;gg++)
    {
    double intmo = percent[gg] / 12;
    int npmts = nyears[gg] * 12;
    double pmt = principal * (intmo / (1 - Math.pow(1 + intmo, -npmts)));
    System.out.println("\nPrincipal = $" + fmt.format(principal) + "\nInterest = "
    + percent[gg] + "%"
    + "\nYears = " + nyears[gg]);
    System.out.println("Monthly Payments = $ " +fmt.format(pmt));
    }


    mfg Zentor

  • Vielen Dank für die schnelle Antwort.

    Das war die Korrekte lösung. Nächstes mal drücke ich mich noch deutlicher aus :thumb: .

    Schönen Wochenanfang noch
    gruß
    J-Appi

  • Hallo Zentor,


    ich habe noch ein Problem mit einem Code. Könntest Du ihn dir Bitte ansehen und mir sagen wo das Problem steckt.

    Vielen Dank im vorraus



    //Mortgage Program /
    //This program will calculate and display the mortgage /
    //monthly payments for a loan given the /
    //amount, the term and the interest rate of the mortgage. /
    //Hardcoded amounts are provided by the instructor. /
    //Version 1 /
    //Modification 1 /
    //This program has been modified using an array to display /
    //3 mortgage loans: 7 year at 5.35%, 15 year at 5.5%, and /
    //30 year at 5.75%. In addition, this program will display /
    //the mortgage monthly payments amount for each loan.
    //Modification 2
    //This program will list the loan balance and interest paid for
    //each payment over the term of the loan
    //
    //Version 3.2 /
    //////////////////////////////////////////////////////////////
    //To set digits after decimal point//
    import java.text.NumberFormat;
    class MortgageArray1
    {
    public static void main(String args[])throws InterruptedException
    {
    double principal = 200000; //Hardcoded amounts//
    double []percent = new double [3];
    percent[0] = 5.35/100;
    percent[1] = 5.5/100;
    percent[2] = 5.75/100;
    short []nyears = new short[3];
    nyears[0] = 7 ;
    nyears[1] = 15;
    nyears[2] = 30;
    int delay = 1;

    //Used to set two digits after decimal point//
    NumberFormat fmt = NumberFormat.getInstance();
    fmt.setMaximumFractionDigits(2);
    fmt.setMinimumFractionDigits(2);

    //Loop to displays results for each loan//
    //Formula calculations to figure monthly payments//
    //Principal= principal*(percent/(1-(1+percent)^-years))//
    //Reference Chou, H.(2000)US Mortgage formula//
    for (int x = 0; x < 3; x++)
    {
    double intmo = percent[x] / 12;
    int npmts = nyears[x] * 12;
    double pmt = principal * (intmo / (1 - Math.pow(1 + intmo, -npmts)));
    System.out.println("\nPrincipal = $" + fmt.format(principal)
    + "\nInterest = "
    + percent[x] + "%"
    + "\nYears = " + nyears[x]);
    System.out.println("Monthly Payments are = $ "
    + fmt.format(pmt));
    }
    //Formula calculations to figure interest pay in
    //each monthly payment and the balance afterwards//
    //Reference Chou, H.(2000)US Mortgage formula//
    for (int x = 1; x <= npmts; ++x) {
    double prinpmt, intpmt = principal * intmo;
    if (x < npmts)
    prinpmt = pmt - intpmt;
    else prinpmt = principal;
    principal -= prinpmt;

    //Display results//
    System.out.println(x + "\t\t" + fmt.format(intpmt + prinpmt)
    + "\t" + fmt.format(intpmt)
    + "\t" + fmt.format(prinpmt)
    + "\t\t" + fmt.format(principal));

    //Used to display line by line with hesitation time//
    if (delay == 1)
    {
    Thread.sleep(1000);
    delay = 1;
    }

    Thread.sleep (1000);
    }
    }
    }

  • Zitat von Zentor

    Sorry, aber ich löse sicher nicht alle kleinen Problemchen für dich. Programmieren braucht nun mal Zeit und Hirnschmalz... Du schaffst das schon ;)
    mfg Zentor


    Lustig wirds, wenn man mal genau weiß, dass man die einzige Person auf der Welt ist, die ein spezielles Problem lösen kann (ohne sich mal ein oder zwei Monate einzuarbeiten)...

    [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!

  • Zitat von Zentor

    Sorry, aber ich löse sicher nicht alle kleinen Problemchen für dich. Programmieren braucht nun mal Zeit und Hirnschmalz... Du schaffst das schon ;)


    In diesem Forum wird den Leuten eh schon bei Fragen geholfen, die in Newsgroups wie comp.lang.java.help ignoriert werden würde.
    Manchmal hat man einfach den Eindruck, dass der Poster bissl zu gemütlich lebt, um sich selber mit der Aufgabe zu beschäftigen ..

    Und wo wir schon dabei sind: Manchen Posting-Titeln wie

    Zitat

    Java-Problem

    fehlt etwas die Aussagekraft .. usw usf How To Ask Questions The Smart Way kann ich da nur empfehlen.

  • Zitat von JohnFoo

    In diesem Forum wird den Leuten eh schon bei Fragen geholfen, die in Newsgroups wie comp.lang.java.help ignoriert werden würde.
    Manchmal hat man einfach den Eindruck, dass der Poster bissl zu gemütlich lebt, um sich selber mit der Aufgabe zu beschäftigen ..

    also um jetzt mal ganz böse zu sein:
    ich glaub nicht, dass er sich auch nur ein bisschen mit programmieren auskennt!! -> er schmeisst (kopiert) nur java codes mit englischen kommentaren die er eh nicht ganz versteht) hinein und hofft jemand nimmt ihm die hausaufgabe ab, weil er zu faul ist um sich selbst hineinzuarbeiten!

    tut mir wirklich leid, dass ich so böse sein muss (eigentlich nicht *gg*) aber es hat mich schon immer geärgert, wenn jemand absolut keine ahnung hat, zu faul ist um selbst nachzudenken, sich die codes von überall zu sammenklaut und dann noch nicht mal selbst die kleinen ungereimtheiten der verschidenen code-teile abändern will!!

    hal: also 1-2 monate ist (für die ganze welt) schon etwas viel ;) -> es gibt schon ne ganze menge brutale pc-junkies auf der erde ;)!
    von was für einem programmierproblem sprechen wir überhaupt ??? :)

    mfg marX

    ps: noch was für "java-appi": wie wärs wenn du wenigstens das code-tag ([ code] ... [ /code])verwenden würdest um "deine" codes etwas übersichtlicher zu machen (vor allem wengen der kommentare!)!!

  • Zitat von marX

    hal: also 1-2 monate ist (für die ganze welt) schon etwas viel ;) -> es gibt schon ne ganze menge brutale pc-junkies auf der erde ;)!
    von was für einem programmierproblem sprechen wir überhaupt ??? :)

    Naja, das passiert vor allem, wenn man ungewöhnliche Technologien miteinander kombiniert. zB DVB-S und FireWire unter Mac OS X, so wie in meinem letzten großen Projekt.

    [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!

  • Zitat von hal

    Naja, das passiert vor allem, wenn man ungewöhnliche Technologien miteinander kombiniert. zB DVB-S und FireWire unter Mac OS X, so wie in meinem letzten großen Projekt.

    ok .. wenn man natürlich selbst sehr komplexe schnittstellen definiert und diese noch mit anderen verknüpft gibt's sicher nicht mehr viele, die da den vollen durchblick haben ;)
    ich glaube aber, dass ein echter checker der unter macOS viel mit firewire arbeitet (programmiert) sich da in ein paar tagen genügend eingelesen hat!

    na ja wie auch immer :)

    mfg marX

  • Zitat von marX

    ok .. wenn man natürlich selbst sehr komplexe schnittstellen definiert und diese noch mit anderen verknüpft gibt's sicher nicht mehr viele, die da den vollen durchblick haben ;)
    ich glaube aber, dass ein echter checker der unter macOS viel mit firewire arbeitet (programmiert) sich da in ein paar tagen genügend eingelesen hat!

    Unterschätz DVB nicht. Es gibt mehrere tausend Seiten an Spec zum durchlesen (das inkludiert den kompletten MPEG2-Standard!), die auch noch dazu erst mühsam zusammengeklaubt werden müssen.
    Falls jemand einen Job zu dem Thema hat: Ich kenn mich inzwischen sehr gut damit aus :D

    [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!

  • Okay Leute,

    ich Poste gerade mal 2 Sachen hier in das Forum und schon glaubt Ihr mich zu kennen... LOL... sag ich nur.

    Okay ich gebs zu, ICH bin nicht der Beste Programmierer. Ich bin gerade in einer Online-Universität in dem Java-Kurs für Anfänger. Dort ist nunmal alles auf Amerikanisch. Und da ich ein Amerikaner bin hab ich auch keine Probleme die Texte (Aufgabenstellungen) zu verstehen. Diese Codes wurden von mir persönlich erstellt und nicht von irgendwo "zusammengeklaut"... Aber Denkt doch bitte was Ihr wollt.

    Ein wenig hilfe hätte ich schon erwartet von so "erfahrenen" Programmierern wie "euch".

    Hier ist ein Update von meinem Programm. Dort habe ich nun noch einen Fehler. Zwar dass ich eine Endlosschleife erstellt habe und ich nicht weiss wie ich diese anhalten kann. Vielleicht kann mir Bitte ein Hilfsbereiter Programmierer weiterhelfen.

    vielen Dank im vorraus
    Java-Appi

  • Zitat von Java-Appi

    ich Poste gerade mal 2 Sachen hier in das Forum und schon glaubt Ihr mich zu kennen... LOL... sag ich nur


    Manche Menschen sind leicht durchschaubar.

    Zitat

    Okay ich gebs zu, ICH bin nicht der Beste Programmierer.


    Richtig. Anders gesagt: Eine Null. Zu faul sein eigenes Programm vertehen zu wollen ..

    Zitat

    Ich bin gerade in einer Online-Universität in dem Java-Kurs für Anfänger. Dort ist nunmal alles auf Amerikanisch. Und da ich ein Amerikaner bin hab ich auch keine Probleme die Texte (Aufgabenstellungen) zu verstehen.


    Na dann fragt sich, wieso du in einem österreichischen Forum um Hilfe bettelst.

    Zitat

    Diese Codes wurden von mir persönlich erstellt und nicht von irgendwo "zusammengeklaut"... Aber Denkt doch bitte was Ihr wollt.


    Und du verstehst deinen eigenen Code nicht mehr, und bittest andere, dir zu helfen?

    Zitat

    Ein wenig hilfe hätte ich schon erwartet von so "erfahrenen" Programmierern wie "euch".


    Erwarten solltest du dir genau gar nichts. Wenn dir jemand hilft, dann darum, weil ihm danach ist. Und das heißt: Entweder er hat einen guten Tag, oder macht einfach gerne die Hausaufgaben für jemand anders. Oder dein Problem ist fordernd und reizt den Leser, es zu lösen. Ansonsten: RTFM und STFW.


    Zitat

    Hier ist ein Update von meinem Programm. Dort habe ich nun noch einen Fehler. Zwar dass ich eine Endlosschleife erstellt habe und ich nicht weiss wie ich diese anhalten kann. Vielleicht kann mir Bitte ein Hilfsbereiter Programmierer weiterhelfen.


    Nachdem du uns ja als "erfahrene" Programmierer bezeichnest, kannst du dir viel Hilfe erwarten. Sei froh, dass dir Zentor schon so weit geholfen hat ..

  • Wieso seid ihr eigentlich so gehässig ? Wenn ihr ihm/ihr nicht helfen wollt schließt das Fenster doch einfach wieder und ignoriert den Thread .... oder is das ein flamewar Versuch ? die ham in diesen Forum noch nie wirklich funktioniert ;) :D

    Greets X :coolsmile

  • Zitat von CitizenX

    Wenn ihr ihm/ihr nicht helfen wollt schließt das Fenster doch einfach wieder und ignoriert den Thread ...


    Manche Leut' stellen sich so dumm an, dass es besser ist, sie auf ihre Fehler hinzuweisen, als einfach wegzuschaun ;).

    Zitat

    oder is das ein flamewar Versuch?


    Aber sicher doch :D - damit der Thread schön lang wird ..

    Zitat

    die ham in diesen Forum noch nie wirklich funktioniert


    Naja, versuchen kann man's.

  • Zitat

    ich habe noch ein Problem mit einem Code. Könntest Du ihn dir Bitte ansehen und mir sagen wo das Problem steckt.


    Ich denke das ist hier das eigentliche Problem. Alles eine Frage der Formulierung. Hätte Java-Appi gesagt: Ich hab hier diesen Code geschrieben, und es läuft dies und das falsch, kenn mich nicht mehr aus, kann mir jemand helfen, hätten sich sicher genügend hilfsbereite Informatiker (wir sind ja nunmal von Natur aus sehr hilfsbereite, unglaublich freundliche und überaus charmante Menschen)
    Aber die oben verwendete Formulierung lässt einen glauben, Java-Appi hätte sich den Code tatsächlich irgendwo rauskopiert, ihn nicht mal gelesen und er hofft jetzt dass dies jemand anderer für ihn tut. Auch wenn dies vielleicht nicht zutreffen mag, das Gefühl kriegt man trotzdem.
    Man sollte immer versuchen demjenigen von dem man Hilfe erwartet, so viel Arbeit wie möglich abzunehmen, z.B. in dem man in zumindest auf die Exception bzw. den Fehler hinweist der vom Programm gemeldet wird. Sachen wie "Könntest du bitte den hier geposteten Code in ein .java File kopieren, ihn kompilieren, anschauen welche Fehler er liefert, dann den ganzen Code durchlesen, und schlussendlich den Fehler finden",die sind einfach unangebracht.

    Valerio!

  • also wenn ich mir jetzt deinen code mal kurz anschaue bemerke ich folgendes:

    1. "{" ... "}" blöcke OHNE if, for oder so was
    2.

    Code
    int delay =1;
    if (delay == 1)					  
    { Thread.sleep(800); }


    ergibt für mich auch nicht wirklich viel sinn!!
    solche fehler kommen typischerweise vom zusammenkopieren von code-fragmenten, bzw. wenn jemand wirklich absolut keine ahnung hat, dann verstehe ich jedoch folgendes nicht:

    Code
    NumberFormat fmt = NumberFormat.getInstance(); 
    bzw.
    throws InterruptedException

    -> also da muss ich johnfoo recht geben: manche menschen sind (auch wenn sie es nicht wahrhaben wollen) wirklich leicht zu durchschauen ;)!

    um trotzdem noch kurz auf deine frage einzugehen:
    (7+15+30)*12*sleep(800) ergibt sage und schreibe über 8 minuten!
    und wenn dann jemand natürlich nicht weiß (weil das programm nicht selbst geschrieben wurde ?!!!!), dass system.out.println in die konsole schreibt denkt sich dieser logischerweise, mit der zeit: "hm ... warum beendet das prog nicht ?!! ... habe ich da eine endlosschleife ??" -> eigentlich müsste dieser aber wissen, dass mehere 100erte ausgaben (mit je einer verzögerung von 800ms) doch eine zeit brauchen (zumindest wenn er wüsste, was er SELBST programmiert hat!)!!

    @Citizen X: nein so war/ist das NICHT gemeint, aber ich hatte schon zu viel mit solchen code-klauern zu tun, die zu faul sind selbst nachzudenken und dies ist hier so was von offensichtlich ;)....nimms mir aber bitte nich böse :)

    hal: ich würde dich sofort einstellen :D

    The_1: da hast du vollkommen recht;) wenn mich jemand nett bittet und ich sehe, dass er wirklich hilfe braucht, aber seine mittel ausgeschöpft hat, wäre ich sicher der letzte der im diese verwehren würde!!! in diesem fall ist es aber für mich eindeutig (egal was er dazu sagt), dass er keine ahnung von dem code (den er angeblich selbst geschrieben hat) hat!

    mfg marX

  • *gg* na er kann zwar den post überschreiben, aber das mail kann er nicht mehr löschen:

    ...also ich glaube das untermauert meine these ;)

    mfg marX

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!