Servus Jungs
Ich fange seit neustem wieder an, Java zu lernen, haben wir aktuell in unserem Kurs, von daher schadets nicht, wenn man zuhause bisschen übt 
So, ich verzweifle grad daran, wie ich bitte eine double dazu zwinge, sie immer mit zwei nachkommastellen auszugeben.
Ich hab da ein kleines Programm geschrieben als Übung: Man gibt das Startkapital ein, dann den Zinssatz und schließlich die Laufzeit in jahren, berechnet und so wird das alles wunderbar und wird in der Konsole auch angezeigt. Runden tut es aber nicht so, wie ich will, wenn eine Zahl zum Beispiel 4,503 lautet, rundet es auf 4,5. Gleiches bei 4,03, da wird auf 4,0 gerundet. Ich will aber dass auf 4,50 gerundet wird bzw auf 4,00. Dies ist aber leider nicht so! Hat da jemand ne Idee wie man das macht.
Hier mal der Code:
Code:
import java.io.*;
public class Zinsrechnungen {
public static double runden (double d1)
{
double ergebnis = Math.round(d1*Math.pow(10d,2))/Math.pow(10d,2);
return ergebnis;
}
public static void main ( String[] args ) throws IOException
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in) );
//------Variablen-----------
double Startkapital;
double Zinssatz; //ohne Prozentzeichen
int Laufzeit;
double S2;
int aktuelleLaufzeit = 1;
double Einnahmen;
double Guthabenlastyear;
//--------------------------
//------Funktion für die Tastaureingabe---------------
System.out.println("Geben Sie ihr Startkapital ein (in €): ");
Startkapital = Double.parseDouble(in.readLine());
System.out.println("Geben Sie ihr Zinssatz ein (ohne %): ");
Zinssatz = Double.parseDouble(in.readLine());
System.out.println("Geben Sie ihre Laufzeit ein (in Jahre): ");
Laufzeit = Integer.parseInt(in.readLine());
//------------------------------------------------------
S2 = runden(Startkapital);
double aktuellesGuthaben = S2;
System.out.println("---------------------------------------");
System.out.println("Startkapital: \t" + S2 + "€");
System.out.println("Zinssatz: \t" + Zinssatz + "%");
System.out.println("Laufzeit: \t" + Laufzeit + " Jahre");
System.out.println("---------------------------------------");
System.out.println("Guthaben am Anfang: \t \t" + Startkapital + "€");
for (aktuelleLaufzeit = 1; aktuelleLaufzeit <= Laufzeit; aktuelleLaufzeit = aktuelleLaufzeit + 1)
{
Guthabenlastyear = aktuellesGuthaben;
aktuellesGuthaben=aktuellesGuthaben + aktuellesGuthaben*(Zinssatz/100);
aktuellesGuthaben=runden(aktuellesGuthaben);
Einnahmen = aktuellesGuthaben - Guthabenlastyear;
Einnahmen = runden(Einnahmen);
System.out.println ("Guthaben nach dem " + aktuelleLaufzeit + ". Jahr: \t" + aktuellesGuthaben + " € \t (+ " + Einnahmen + "€)");
}
}
}
Und hier der Text der in der Konsole dabei ausgegeben wird:
Code:
Geben Sie ihr Startkapital ein (in €):
2000000
Geben Sie ihr Zinssatz ein (ohne %):
2.5
Geben Sie ihre Laufzeit ein (in Jahre):
20
---------------------------------------
Startkapital: 2000000.0€
Zinssatz: 2.5%
Laufzeit: 20 Jahre
---------------------------------------
Guthaben am Anfang: 2000000.0€
Guthaben nach dem 1. Jahr: 2050000.0 € (+ 50000.0€)
Guthaben nach dem 2. Jahr: 2101250.0 € (+ 51250.0€)
Guthaben nach dem 3. Jahr: 2153781.25 € (+ 52531.25€)
Guthaben nach dem 4. Jahr: 2207625.78 € (+ 53844.53€)
Guthaben nach dem 5. Jahr: 2262816.42 € (+ 55190.64€)
Guthaben nach dem 6. Jahr: 2319386.83 € (+ 56570.41€)
Guthaben nach dem 7. Jahr: 2377371.5 € (+ 57984.67€)
Guthaben nach dem 8. Jahr: 2436805.79 € (+ 59434.29€)
Guthaben nach dem 9. Jahr: 2497725.93 € (+ 60920.14€)
Guthaben nach dem 10. Jahr: 2560169.08 € (+ 62443.15€)
Guthaben nach dem 11. Jahr: 2624173.31 € (+ 64004.23€)
Guthaben nach dem 12. Jahr: 2689777.64 € (+ 65604.33€)
Guthaben nach dem 13. Jahr: 2757022.08 € (+ 67244.44€)
Guthaben nach dem 14. Jahr: 2825947.63 € (+ 68925.55€)
Guthaben nach dem 15. Jahr: 2896596.32 € (+ 70648.69€)
Guthaben nach dem 16. Jahr: 2969011.23 € (+ 72414.91€)
Guthaben nach dem 17. Jahr: 3043236.51 € (+ 74225.28€)
Guthaben nach dem 18. Jahr: 3119317.42 € (+ 76080.91€)
Guthaben nach dem 19. Jahr: 3197300.36 € (+ 77982.94€)
Guthaben nach dem 20. Jahr: 3277232.87 € (+ 79932.51€)