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

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
#10
vote_ok
von guandi (230 Punkte) - 03.08.2018 um 12:27 Uhr
Die Ausgabe entspricht jetzt nicht den Vorgaben aber ansonsten würde ich sagen, dass das Programm gelungen ist :)

Quellcode ausblenden Java-Code
import java.math.*;
import java.util.Scanner;

public class App {
	

	public static void main(String[] args) {
		// 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.

		System.out.println("Willkommen beim Zinseszinsrechner :)");
		
		double geldbetrag = 0;
		double jahreszinssatz = 0.0;
		int laufzeit = 0;
		
		geldbetrag = eingabeBetrag();
		jahreszinssatz = eingabeJahreszinssatz();
		laufzeit = eingabeLaufzeit();
		
		System.out.println();
		System.out.println("-----");
		System.out.println("Alle Eingaben auf einen Blick:");
		System.out.println("Der einbezahlte Geldbetrag: " + geldbetrag + "€");
		System.out.println("Der Jahreszinssatz: " + jahreszinssatz*100 + "%");
		System.out.println("Die Laufzeit: " + laufzeit + " Jahre."); 
		
		System.out.println("---");
		System.out.println("Abrechung:");
		System.out.println("");
		
		berechnung(geldbetrag, jahreszinssatz, laufzeit);
		
		System.exit(1);
		
	}
	
	static double eingabeBetrag() {
		Scanner einlesen = new Scanner(System.in);
		double eingabe = 0;
		
		try {
			System.out.print("Bitte geben Sie den anzulegenden Betrag ein:");
			eingabe = einlesen.nextDouble();
		}catch (Exception e) {
			System.out.println("Bitte nur Ganzzahlen eingeben!");
			eingabe = eingabeBetrag();
		}
	return eingabe;
	}
	
	static double eingabeJahreszinssatz() {
		Scanner einlesen = new Scanner(System.in);
		double eingabe = 0.0;
		try {
			System.out.print("Jahreszins (Bsp: 0.05 = 5%):");
			eingabe = einlesen.nextDouble();
		}catch (Exception e) {
			System.out.println("Hmmm");
		}
	return eingabe;
	}
	
	static int eingabeLaufzeit() {
		Scanner einlesen = new Scanner(System.in);
		int eingabe = 0;
		
		try {
			System.out.print("Eingabe der Laufzeit:");
			eingabe = einlesen.nextInt();
		}catch (Exception e) {
			System.out.println("Bitte nur Ganzzahlen eingeben!");
			eingabe = eingabeLaufzeit();
		}
	return eingabe;
	}
	
	static void berechnung(double geldbetrag, double jahreszinssatz, int laufzeit) {
		double zinsen;
		
		for(int i=0; i<laufzeit; i++) {
			int j;
			j=i;
			j++;
			zinsen = geldbetrag * jahreszinssatz;
		
			System.out.println(gerundet(zinsen) + "€ Zinsen im " + j + ". Jahr.");
			
			geldbetrag = geldbetrag + zinsen;

			System.out.println("Neuer Geldbetrag nach dem " + j + " Jahr: " + gerundet(geldbetrag) + "€.");
			System.out.println("---");
		}
	}
	
	static String gerundet(double x) {
		String zahl = "";
		final java.text.NumberFormat nf = java.text.NumberFormat.getInstance(); 
        nf.setMaximumFractionDigits(2); 
        zahl = nf.format(new BigDecimal(x));
		
		return zahl;
		
	}

}

Kommentare:

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

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

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.