Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Rechner;
- import java.text.DecimalFormat;
- import java.text.NumberFormat;
- import java.util.Currency;
- import javax.swing.text.NumberFormatter;
- public class Kreditrechner {
- /**
- * Zinsen
- */
- private double zinsen;
- /**
- * Ergebnis
- */
- private double ergebnis;
- private double laufzeit; // Laufzeit des Kredites
- /**
- * Kreditsumme
- */
- private double kreditsumme;
- /**
- *
- * @param kr - Kreditsumme
- * @param zin - Zinsen
- * @param anz - Anzahl
- */
- public Kreditrechner(String kr,String zin,String anz) {
- kreditsumme = Double.parseDouble(kr);
- zinsen = Double.parseDouble(zin)/100;
- laufzeit = Double.parseDouble(anz);
- }
- /**
- * Liefere die Kreditsumme
- * @return
- */
- public double getKreditsumme() {
- return kreditsumme;
- }
- /**
- *
- * @return - Liefere den Tilgungsplan
- */
- public String getTilgungsplan() {
- double zinsfaktor = getZinsfaktor();
- double zinsf_m = Math.pow(zinsfaktor, laufzeit);
- double restsumme = kreditsumme;
- double mzins;
- double gesamtzinsen = 0;
- double rate = kreditsumme*zinsf_m/(zinsf_m-1)*(zinsfaktor-1);
- String erg = "";
- while(restsumme >= rate) {
- restsumme = restsumme - rate;
- mzins = restsumme*zinsen/12;
- gesamtzinsen = gesamtzinsen + mzins;
- erg = erg + "Restsumme:"+formatEuro(restsumme)+" Zinsen:"+formatEuro(mzins)+" Tilgung:"+formatEuro(rate-mzins)+"\n";
- }
- if(restsumme > 0) {
- mzins = restsumme*zinsen/12;
- restsumme = 0;
- gesamtzinsen = gesamtzinsen + mzins;
- erg = erg + "Restsumme:"+formatEuro(restsumme)+" Zinsen:"+formatEuro(mzins)+" Tilgung:"+formatEuro(rate-mzins)+"\n";
- }
- erg = erg + "Gesamtzinsen:"+formatEuro(gesamtzinsen);
- return erg;
- }
- public double getZinsfaktor() {
- return Math.pow((zinsen+1), (1.0/12.0));
- }
- /**
- * Formatiere in Eurodarstellung
- * @param wert Wert der als String gewandelt werden soll
- * @return Ergebnisstring in Euro
- */
- public static String formatEuro(double wert) {
- NumberFormat form = NumberFormat.getInstance();
- form.setMaximumFractionDigits(2);
- form.setMinimumFractionDigits(2);
- form.setCurrency(Currency.getInstance("EUR"));
- return form.format(wert)+"€";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement