Advertisement
Necr0

Progra Ü2 Zinsrechner

Nov 6th, 2017
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.73 KB | None | 0 0
  1. public class Zinsrechner {
  2.     public static void main(String[] args) {
  3.         //Frage nach Startkaptial und Zinssatz:
  4.         double starting_balance = 0;
  5.         while (starting_balance<=0) //nur positive Zinssätze zulässig! (0,infinity]
  6.             starting_balance = SimpleIO.getDouble("Bitte geben Sie den Startbetrag ein.");
  7.         double rate = 0;
  8.         while (rate<=1) //nur positive(in %) Zinssätze zulässig! (0,infinity]%
  9.             rate = SimpleIO.getDouble("Bitte geben Sie den Zinssatz als Prozentwert ein.") / 100 + 1; //Umwandlung in relativen Wert
  10.  
  11.         String type = "";
  12.  
  13.         //Frage nach Art der Berechnung bis eine gültige Eingabe erfolt:
  14.         while (!(type.equals("ziel") || type.equals("zeit")))
  15.             type = SimpleIO.getString("Bitte wählen Sie aus:\n" +
  16.                     "Ziel : Berechnet die Zeit, bis ein gegebener Betrag angespart wurde.\n" +
  17.                     "Zeit : Berechnet den Betrag, der nach einer gegebenen Zeit angespart wurde.").toLowerCase(); //In Kleinbuchstaben umwandeln damit Groß- und Kleinschreibung egal ist
  18.  
  19.         if (type.equals("ziel")) {//Wenn Ziel gewählt wurde:
  20.  
  21.             //Frage nach Zielkapital:
  22.             double target = SimpleIO.getDouble("Bitte geben Sie den Zielbetrag ein.");
  23.  
  24.             //Multipliziere das Kapital solange mit dem Zinssatz bis das Kapital größer oder gleich dem Zielkapital ist.
  25.             //Speichere in time wie oft das passiert (=verstrichene Zinsjahre).
  26.             //Speichere in balance das Kapital nach time Zinsjahren.
  27.             int time=0;
  28.             double balance=starting_balance;
  29.             while(balance<target){
  30.                 balance*=rate;
  31.                 time++;
  32.             }
  33.  
  34.             SimpleIO.output(String.format("Es dauert %d Jahre bei einem Zinssatz von %.2f%%, um von %.2f auf den Betrag %.2f zu sparen. Nach dieser Zeit hat man %.2f.", time, (rate-1)*100, starting_balance, target, balance), "Benötigte Zeit");
  35.  
  36.         } else {//Wenn Zeit gewählt wurde:
  37.  
  38.             //Frage nach Zeitspanne in Zinsjahren
  39.             int time = -1;
  40.             while (time<0) //nur nicht-negative Zeitspannen zulässig! [0,infinity]
  41.                 time = SimpleIO.getInt("Bitte geben Sie die Zeit in Jahren ein.");
  42.  
  43.             //Speichere in balance das Kapital
  44.             //Multipliziere das Kapital time mal mit dem Zinssatz
  45.             double balance=starting_balance;
  46.             for(int i=0;i<time;i++){
  47.                 balance*=rate;
  48.             }
  49.  
  50.             SimpleIO.output(String.format("Bei einem Zinssatz von %.2f%% und einem Startbetrag von %.2f hat man nach %d Jahren %.2f gespart.", (rate-1)*100, starting_balance, time, balance), "Kapital nach Zeitspanne");
  51.  
  52.         }
  53.     }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement