Falsches Ergebnis beim Ausführen vom Code in Eclipse?

Falsches Ergebnis obwohl im Taschenrechner das richtige Ergebnis rauskommt!

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Falsches Ergebnis beim Ausführen vom Code in Eclipse?
Hey Leute,

ich bin gerade dabei die Hausaufgabe für AuD zu machen, und habe direkt das erste Problem…
An sich fand ich die Hausaufgabe nicht gerade schwer, und bin auch gut voran gekommen, nur komme ich gerade nicht mehr weiter.

Da man ja nicht sagen darf was man gerechnet hat, versuche ich das Problem mal zu umschreiben.

Es geht um die Aufgabe, wo man ausrechnen soll wie viele Stunden das Datenvolumen hält bzw. wo man Lichtjahre in Megameter umrechnen muss.
Ich weiß, dass meine Formel stimmt, da sie im Taschenrechner zum richtigen Ergebnis führt. Wenn ich den Code ausführe, kommt nicht das Richtige raus. Der Datentyp sollte auch der richtige sein, also er sollte eigentlich zu der Zahlengröße passen, daran kann es auch nicht liegen…
Da, wo der umgerechnete Wert rauskommen sollte, kommt komischer Weise 0 raus, gebe ich exakt die gleiche Formel in den TR ein komme ich auf das richtige Ergebnis… Frage mich jetzt also wo mein Fehler ist.

Hoffentlich kann mir hier trotzdem jemand helfen, versuche seit einer halben Stunde das Problem zu beheben, habe verschiedene Wege probiert aber bis jetzt komme ich nicht darauf…

Danke schonmal


Ohne die Aufgabe zu kennen: achtest du darauf, dass bei Divisionen entscheidend ist, ob du mit Ganzzahlen oder Gleitkommazahlen rechnest?


Kannst du das bitte etwas genauer erklären, was du damit meinst? Bzw. worauf genau da zu achten ist.
Hätte jetzt spontan gesagt ich habe schon darauf geachtet, weil eigentlich keine Gleitkommazahlen vorkommen…


double i = 4/5;

liefert ein anderes Ergebnis als:

double i = 4.0/5.0;

Grund dafür ist die Tatsache, dass bei ersterem zwei Ganzzahlen (Integer) dividiert werden und das Ergebnis auch eine Ganzzahl ist (4/5 = 0). Dieses wird dann in eine Gleitkommazahl umgewandelt (0.0). Bei letzterem werden zwei Gleikommazahlen dividiert (4.0/5.0 = 0.8) und als Gleitkommazahl gespeichert (0.8).

Wenn du sagst, dass bei deiner Formel ungewöhnlicherweise 0 rauskommt, obwohl der Taschenrechner etwas anderes berechnet, könnte das evlt. eine Fehlerquelle sein.


Super, danke! Problem gelöst!