Advertisement
Sago

Kreditrechner.java Musterlösung

Jun 5th, 2014
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.20 KB | None | 0 0
  1. package Rechner;
  2.  
  3. import java.text.DecimalFormat;
  4. import java.text.NumberFormat;
  5. import java.util.Currency;
  6.  
  7. import javax.swing.text.NumberFormatter;
  8.  
  9. public class Kreditrechner {
  10.     /**
  11.      * Zinsen
  12.      */
  13.  private double zinsen;
  14.  /**
  15.   * Ergebnis
  16.   */
  17.  private double ergebnis;
  18.  private double laufzeit; // Laufzeit des Kredites
  19.  
  20.  /**
  21.   * Kreditsumme
  22.   */
  23.  private double kreditsumme;
  24.  
  25.  /**
  26.   *
  27.   * @param kr - Kreditsumme
  28.   * @param zin - Zinsen
  29.   * @param anz - Anzahl
  30.   */
  31.  public Kreditrechner(String kr,String zin,String anz) {
  32.      kreditsumme = Double.parseDouble(kr);
  33.      zinsen = Double.parseDouble(zin)/100;
  34.      laufzeit = Double.parseDouble(anz);
  35.  }
  36.  
  37.  /**
  38.   * Liefere die Kreditsumme
  39.   * @return
  40.   */
  41.  public double getKreditsumme() {
  42.      return kreditsumme;
  43.  }
  44.  
  45.  /**
  46.   *
  47.   * @return - Liefere den Tilgungsplan
  48.   */
  49.  public String getTilgungsplan() {
  50.      double zinsfaktor = getZinsfaktor();
  51.      double zinsf_m = Math.pow(zinsfaktor, laufzeit);
  52.      double restsumme = kreditsumme;
  53.      double mzins;
  54.      double gesamtzinsen = 0;
  55.      double rate = kreditsumme*zinsf_m/(zinsf_m-1)*(zinsfaktor-1);
  56.      String erg = "";
  57.      while(restsumme >= rate) {
  58.          restsumme = restsumme - rate;
  59.          mzins = restsumme*zinsen/12;
  60.          gesamtzinsen = gesamtzinsen + mzins;
  61.          erg = erg + "Restsumme:"+formatEuro(restsumme)+" Zinsen:"+formatEuro(mzins)+" Tilgung:"+formatEuro(rate-mzins)+"\n";
  62.      }
  63.      if(restsumme > 0) {
  64.          mzins = restsumme*zinsen/12;
  65.          restsumme = 0;
  66.          gesamtzinsen = gesamtzinsen + mzins;
  67.          erg = erg + "Restsumme:"+formatEuro(restsumme)+" Zinsen:"+formatEuro(mzins)+" Tilgung:"+formatEuro(rate-mzins)+"\n";
  68.      }
  69.      erg = erg + "Gesamtzinsen:"+formatEuro(gesamtzinsen);
  70.      
  71.      return erg;
  72.  }
  73.  
  74.  public double getZinsfaktor() {
  75.      return Math.pow((zinsen+1), (1.0/12.0));    
  76.  }
  77.  
  78.  /**
  79.   * Formatiere in Eurodarstellung
  80.   * @param wert Wert der als String gewandelt werden soll
  81.   * @return Ergebnisstring in Euro
  82.   */
  83.  public static String formatEuro(double wert) {
  84.  
  85.      NumberFormat form = NumberFormat.getInstance();
  86.      form.setMaximumFractionDigits(2);
  87.      form.setMinimumFractionDigits(2);
  88.      form.setCurrency(Currency.getInstance("EUR"));
  89.    
  90.      return form.format(wert)+"€";
  91.      
  92.  }
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement