/** * Beschreiben Sie hier die Klasse Kapital. * * @author (K. Fršhlig) * @version (2021) */ public class anlage { // Instanzvariablen - ersetzen Sie das folgende Beispiel mit Ihren Variablen double betrag; double zinssatz; int jahr; /** * Konstruktor fŸr Objekte der Klasse Kapital */ public anlage(double inpBetrag, double inpZinssatz, int inpJahr) { // Instanzvariable initialisieren betrag = inpBetrag; zinssatz = inpZinssatz; jahr = inpJahr; } public double ZinsenBerechnen() { // Zinsen fŸr ein Jahr berechnen double zinsen; zinsen = betrag * zinssatz; return zinsen ; } public double sparplanZeileErstellen(double inpAnfangsbetrag, int jahr) { // Zinsen fŸr ein Jahr berechnen double zinsen; zinsen = betrag * zinssatz; return zinsen ; } public void sparplanErstellen(double zielbetrag) { // Leerzeile und †berschrift drucken .... System.out.println(); System.out.println("Jahr Anfangsbetrag Zinsen Endbetrag"); // lokale Variablen deklarieren und initialisieren ... double zinsenNeu, betragNeu, endbetrag,anfangsbetrag; anfangsbetrag = betrag; int jahrNeu = jahr; // Zinsen und Endbetrag fŸr das erste Jahr berechnen endbetrag = sparplanZeileErstellen(anfangsbetrag, jahrNeu) ; anfangsbetrag = endbetrag; //Solange bis Zielbetrag erreicht while (endbetrag < zielbetrag) {jahrNeu =jahrNeu + 1; endbetrag = sparplanZeileErstellen(anfangsbetrag, jahrNeu) ; anfangsbetrag = endbetrag; } } public void sparplanErstellen4(int anzahlJahre, double sparRate) { //lokale Variablen definieren double zinsenNeu, betragNeu, endbetrag,anfangsbetrag; anfangsbetrag = betrag ; int jahr = 1; // Erste Zeile System.out.println(); System.out.println("Jahr Anfangsbetrag Zinsen Endbetrag"); // Erste Zeile des Sparplans wird auf jeden Fall gezeigt .... do { anfangsbetrag= anfangsbetrag + sparRate; zinsenNeu= rundenEuro(anfangsbetrag*zinssatz); endbetrag= rundenEuro(anfangsbetrag+zinsenNeu); System.out.println(jahr + " "+ anfangsbetrag + " " + zinsenNeu + " " + endbetrag); jahr =jahr + 1; anfangsbetrag = endbetrag; } while (jahr < anzahlJahre) ; System.out.println("Nach "+anzahlJahre +" Jahren haben Sie bei einer Sparrate von "+sparRate+" " +rundenEuro(endbetrag) + " Euro angespart."); } public void sparplanErstellen3(int anzahlJahre) { //lokale Variablen definieren double zinsenNeu, betragNeu, endbetrag,anfangsbetrag; anfangsbetrag = betrag; int jahr = 1; // Erste Zeile System.out.println(); System.out.println("Jahr Anfangsbetrag Zinsen Endbetrag"); // Erste Zeile des Sparplans wird auf jeden Fall gezeigt .... do { zinsenNeu= rundenEuro(anfangsbetrag*zinssatz); endbetrag= rundenEuro(anfangsbetrag+zinsenNeu); System.out.println(jahr + " "+ anfangsbetrag + " " + zinsenNeu + " " + endbetrag); jahr =jahr + 1; anfangsbetrag = endbetrag; } while (jahr < anzahlJahre +1) ; System.out.println("Nach "+anzahlJahre +" Jahren haben Sie "+rundenEuro(endbetrag) + " Euro angespart."); } public void sparplanErstellen2(double zielbetrag) { //lokale Variablen definieren double zinsenNeu, betragNeu, endbetrag,anfangsbetrag; anfangsbetrag = betrag; int jahrNeu = jahr; // Erste Zeile System.out.println(); System.out.println("Jahr Anfangsbetrag Zinsen Endbetrag"); // Erste Zeile des Sparplans wird auf jeden Fall gezeigt .... do { zinsenNeu= rundenEuro(anfangsbetrag*zinssatz); endbetrag= rundenEuro(anfangsbetrag+zinsenNeu); System.out.println(jahrNeu + " "+ anfangsbetrag + " " + zinsenNeu + " " + endbetrag); jahrNeu =jahrNeu + 1; anfangsbetrag = endbetrag; } while (endbetrag < zielbetrag) ; System.out.println("Nach "+(jahrNeu-jahr-1) +" Jahren haben Sie Ihr Sparziel um "+rundenEuro(endbetrag-zielbetrag) + " Euro Ÿbertroffen."); } public static double rundenEuro(double betrag) { //Runden - angepasst auf zwei Nachkommastellen double d = Math.pow(10, 2); return Math.round(betrag * d) / d; } public static double runden(double value, int nachkommastellen) {//Runden -gefunden im Internet double d = Math.pow(10, nachkommastellen); return Math.round(value * d) / d; } public double endkapitalBerechnen(int anzJahre) { // Endkapital nach n Jahren durch Zinsen // math.pow (x,y) berechnet x hoch y. double endKapital; endKapital = betrag * Math.pow((1 + zinssatz),anzJahre); return rundenEuro(endKapital) ; } public double endkapitalBerechnen(int anzJahre, double sparRate) { // Endkapital nach n Jahren mit Sparrate // math.pow (x,y) berechnet x hoch y. double endKapital; endKapital = betrag * Math.pow((1 + zinssatz),anzJahre) + sparRate * (Math.pow((1 + zinssatz),anzJahre)-1)/zinssatz; return rundenEuro(endKapital) ; } }