diff --git a/Darlehenberechner.java b/Darlehenberechner.java index 418a65d..155b73d 100644 --- a/Darlehenberechner.java +++ b/Darlehenberechner.java @@ -1,3 +1,5 @@ +import java.io.IOException; +import java.io.DataInputStream; import java.math.BigDecimal; import java.math.MathContext; import java.text.DecimalFormat; @@ -64,13 +66,13 @@ class Darlehenberechner { } - public Integer getaktTilgungsfreieZeit() { - return aktTilgungsfreieZeit; + public Integer getTilgungsfreieZeit() { + return tilgungsfreieZeit; } - public Konfiguration setaktTilgungsfreieZeit(Integer aktTilgungsfreieZeit) { - this.aktTilgungsfreieZeit = aktTilgungsfreieZeit; + public Konfiguration setTilgungsfreieZeit(Integer tilgungsfreieZeit) { + this.tilgungsfreieZeit = tilgungsfreieZeit; return this; } @@ -122,26 +124,50 @@ class Darlehenberechner { private BigDecimal summeRaten = BigDecimal.ZERO; - public static void main(String[] args) throws ParseException { + public static void main(String[] args) throws ParseException, IOException { new Darlehenberechner(new Konfiguration() .setDarlehenswert(BigDecimal.valueOf(168_000)) .setZinssatzProzent(BigDecimal.valueOf(3.73)) .setMonatlicheRate(BigDecimal.valueOf(1_500)) - .setaktTilgungsfreieZeit(0) + .setTilgungsfreieZeit(0) .setAnfangsmonat(YearMonth.of(2024, Month.SEPTEMBER)) .setSondertilgungProzent(BigDecimal.valueOf(2.5)) ).berechneWerte(); - return; /*new Darlehenberechner(new Konfiguration() .setDarlehenswert(BigDecimal.valueOf(168_000)) .setZinssatzProzent(BigDecimal.valueOf(3.73)) .setMonatlicheRate(BigDecimal.valueOf(1_500)) - .setaktTilgungsfreieZeit(0) + .setTilgungsfreieZeit(0) .setLaufzeitJahre(11) .setAnfangsmonat(YearMonth.of(2024, Month.SEPTEMBER)) - ).berechneWerte(); - return;*/ + ).berechneWerte();*/ + + DECIMAL_FORMAT.setParseBigDecimal(true); + + /*var konfig = new Konfiguration(); + var dis = new DataInputStream(System.in); + System.out.print("Darlehenswert: "); + konfig.setDarlehenswert((BigDecimal) DECIMAL_FORMAT.parse(dis.readLine())); + System.out.print("Zinssatz: "); + konfig.setZinssatzProzent((BigDecimal) DECIMAL_FORMAT.parse(dis.readLine())); + System.out.print("Monatliche Rate: "); + konfig.setMonatlicheRate((BigDecimal) DECIMAL_FORMAT.parse(dis.readLine())); + System.out.print("Laufzeit in Jahren(optional): "); + var in = dis.readLine(); + if (in != null && !in.isBlank()) { + konfig.setLaufzeitJahre(Integer.parseInt(dis.readLine())); + } + System.out.print("Anzahl tilgungsfreier Monate(optional): "); + in = dis.readLine(); + if (in != null && !in.isBlank()) { + konfig.setTilgungsfreieZeit(Integer.parseInt(dis.readLine())); + } + System.out.print("Monat erste Rate(z.B. 2007-12): "); + konfig.setAnfangsmonat(YearMonth.parse(dis.readLine())); + System.out.print("Sondertilgungssatz: "); + konfig.setSondertilgungProzent((BigDecimal) DECIMAL_FORMAT.parse(dis.readLine())); + new Darlehenberechner(konfig).berechneWerte();*/ /*var konfig = new Konfiguration(); int count = 0; @@ -170,7 +196,7 @@ class Darlehenberechner { } if (arg.equals("-aktTilgungsfreieZeit")) { count++; - konfig.setaktTilgungsfreieZeit(Integer.parseInt(args[count])); + konfig.setTilgungsfreieZeit(Integer.parseInt(args[count])); } if (arg.equals("-laufzeitJahre")) { count++; @@ -192,7 +218,7 @@ class Darlehenberechner { sondertilgung = konfig.getSondertilgung() != null ? konfig.getSondertilgung().multiply(konfig.getDarlehenswert()) : BigDecimal.ZERO; aktRestschuld = konfig.getDarlehenswert(); aktMonatlicheRate = konfig.getMonatlicheRate(); - aktTilgungsfreieZeit = konfig.getaktTilgungsfreieZeit(); + aktTilgungsfreieZeit = konfig.getTilgungsfreieZeit(); aktMonat = konfig.getAnfangsmonat(); }