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

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
#14
vote_ok
von 0 (0 Punkte) - 21.01.2021 um 20:40 Uhr
Quellcode ausblenden Java-Code
package de.patrick260.trainYourProgrammer.exercise_4;

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

public class ZinseszinsberechnungUndAusgabe {

    public static void main(String[] args) {

        double geld = 0;
        double zins = 0;
        int laufzeit = 0;

        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

        System.out.print("Geldbetrag in Euro: ");

        try {
            String input = reader.readLine();

            while (!isDouble(input)) {
                System.out.println("Invalid Input!");
                System.out.print("Geldbetrag in Euro: ");
                input = reader.readLine();
            }

            geld = Double.parseDouble(input);
        } catch (IOException e) {
            e.printStackTrace();
        }

        System.out.print("Jahreszins: ");

        try {
            String input = reader.readLine();

            while (!isDouble(input)) {
                System.out.println("Invalid Input!");
                System.out.print("Jahreszins: ");
                input = reader.readLine();
            }

            zins = Double.parseDouble(input);
        } catch (IOException e) {
            e.printStackTrace();
        }

        System.out.print("Laufzeit in Jahren: ");

        try {
            String input = reader.readLine();

            while (!isInteger(input)) {
                System.out.println("Invalid Input!");
                System.out.print("Laufzeit in Jahren: ");
                input = reader.readLine();
            }

            laufzeit = Integer.parseInt(input);
        } catch (IOException e) {
            e.printStackTrace();
        }

        for (int i = 0; i < laufzeit; i++) {
            geld += geld * (zins / 100);
            NumberFormat n = NumberFormat.getInstance();
            n.setMaximumFractionDigits(2);
            System.out.println(String.format("Wert nach " + (i + 1) + " Jahren: " + n.format(geld)));
        }

    }

    private static boolean isInteger(String s) {
        try {
            Integer.parseInt(s);
            return true;
        } catch (Exception e) {
            return false;
        }
    }

    private static boolean isDouble(String s) {
        try {
            Double.parseDouble(s);
            return true;
        } catch (Exception e) {
            return false;
        }
    }

}

Kommentare:

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

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

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.