3 Fragen zu meinem Programm?
Warum kommt hier als Ergebnis 1 raus? Es müsste doch 0,2 raus kommen oder. Wenn ich aber System.out.println(…) in die Schleife rein schreibe kommen 2 Ausgaben, einmal 0,2 und einmal 1.0. Was hab ich denn hier falsch gemacht? Die Schleife läuft hier doch so lange durch bis die Bedingung nicht mehr erfüllt ist und dann wird „System.out.println“ Ausgehen oder?
Warum kann ich hier den Summand nicht ausgeben ?
Warum kann ich hier den Summand ausgeben ? Und warum kommen 2 unterschiedliche Lösungen, das gleiche hab ich auch wenn ich System.out.println(…+Summe) in die Klammer schreibe?
1 Antwort
![](https://images.gutefrage.net/media/default/user/11_nmmslarge.png?v=1551279448000)
Das Ergebnis ist falsch, weil die Berechnung halt falsch ist. summe = 1/(summe*b) ist halt falsch, du willst eher summe = summe * (1/b) .
Deine Formel igbt beim ersten Mal 1/(1*5) = 0,2 und im 2. DL 1/(0.2*5) = 1...
In dem 2. Bild wird nur eine Warning sein, weil wenn die Schleife nicht läuft (der berücksichtigt nicht, das du n<0 vorher abfragst) der Wert nicht initialisiert ist. Laufen sollte das trotzdem.