Java :: Aufgabe #4 :: Lösung #7

15 Lösungen Lösungen öffentlich
#4

Zinseszinsberechnung und Ausgabe

Anfänger - Java von Gustl - 12.08.2012 um 14:59 Uhr
Schreiben Sie ein Programm zur Zinseszinsberechnung. Das Konsolenprogramm soll den anzulegenden Geldbetrag, den Jahreszins und die Laufzeit in Jahren abfragen. Danach soll für jedes Laufjahr der Geldbetrag mit Zinseszins ausgegeben werden.
Etwa so:

Konsolenausgabe:

Geldbetrag in Euro: 150
Jahreszins (0.05 = 5%): 0.04
Laufzeit in Jahren: 3
Wert nach 1 Jahr: 156,00 Euro
Wert nach 2 Jahren: 162,24 Euro
Wert nach 3 Jahren: 168,73 Euro
#7
vote_ok
von HaraldK (260 Punkte) - 21.02.2016 um 21:46 Uhr
Quellcode ausblenden Java-Code
/* @Author H.K.
 * @Date 21.02.2016
 * 
 * Programmbeschreibung:
 * Programm zur Zinseszinsberechnung
 */

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class mainprogramv2 {

	public static void main ( String args[] ) throws IOException {
		double[] zinseszins = new double[1];
		double[] allparameters = new double[3];
		
		allparameters = fcabfrage(allparameters);
		zinseszins = fczinseszins(allparameters, zinseszins);
	}

	public static double[] fczinseszins(double allparameters[], double zinseszins[]) {
		double gesamtbetrag = allparameters[0];
		for (int i = 1; i <= allparameters[1]; i++) {
			zinseszins[0] = allparameters[0] * (1+((allparameters[2]*100)/100)) - allparameters[0];
			gesamtbetrag = zinseszins[0] + allparameters[0];
			allparameters[0] = gesamtbetrag;
			System.out.println("Wert nach Jahr " +i +": " +gesamtbetrag);
		}
		return new double[] { allparameters[0], allparameters[1], allparameters[2] };
	}

	private static double[] fcabfrage(double allparameters[]) throws IOException {
		double[] eingabe = new double[1];

		while (allparameters[0] == 0) {
			allparameters[0] = eingabe(allparameters[0], eingabe[0]);
			eingabe[0]++;
		}
		while (allparameters[1] == 0) {
			allparameters[1] = eingabe(allparameters[1], eingabe[0]);
			eingabe[0]++;
		}
		while (allparameters[2] == 0) {
			allparameters[2] = eingabe(allparameters[2],  eingabe[0]);
			eingabe[0]++;
		}
		return allparameters;
	}

	private static double eingabe(double eingabe, double verify) throws IOException {
		while (eingabe == 0) {
		 if (verify == 0 || verify == 1) {
			if (verify == 0) {
				System.out.println("Bitte den Geldbetrag in Euro angeben: ");
			}
			if (verify == 1) {
				System.out.println("Bitte die Laufzeit in Jahren angeben: ");
			}
			BufferedReader input = new BufferedReader ( new InputStreamReader ( System.in ) );
		    String inputString = input.readLine();
		    if (inputString.matches("-?\\d+?")) {
		    	eingabe = Integer.parseInt(inputString);
			}
		    else {
		    	System.out.println("Eingabe ist keine Zahl!");
		    }
		}
		if (verify == 2) {
		System.out.println("Bitte die Zinsen angeben (5% = 0.05): ");
		BufferedReader input = new BufferedReader ( new InputStreamReader ( System.in ) );
	    String inputString = input.readLine();
	    if (inputString.matches("-?\\d\\.\\d+?")) {
	    	eingabe = Double.parseDouble(inputString);
		}
	    else {
	    	System.out.println("Eingabe keine Zahl oder ohne Punkt!");
	    }
		}
		}
		return eingabe;
	}
}



Ausgabe:

Konsolenausgabe:



Bitte den Geldbetrag in Euro angeben:
150
Bitte die Laufzeit in Jahren angeben:
3
Bitte die Zinsen angeben (5% = 0.05):
0.04
Wert nach Jahr 1: 156.0
Wert nach Jahr 2: 162.24
Wert nach Jahr 3: 168.7296


Ausgabe bei falscher Eingabe:

Konsolenausgabe:


Bitte den Geldbetrag in Euro angeben:
200t
Eingabe ist keine Zahl!
Bitte den Geldbetrag in Euro angeben:

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
1817455

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.