Addition liefert falsches Ergebniss

  • Antworten:2
  • Bentwortet
Marcel S.
  • Forum-Beiträge: 120

13.06.2011, 17:13:46 via Website

Kann mir bitte jemand erklären was hier schief läuft.
Ich will eine Variable an eine andere Klasse übergeben und dort mit dem Wert Arbeiten nun sind die Ergebnisse für mich allerdings sehr erstaunlich
time hat in diesem Fall den wert 0 und elapsed_time 20

1public void Draw(Canvas c, long elapsed_time){
2 this.time = elapsed_time;
3}

hier kommt wie zu erwarten time == 20 heraus;

1public void Draw(Canvas c, long elapsed_time){
2 this.time += elapsed_time;
3}

allerdings kommt bei dem Versuch elapsed_time und time zu addieren dann sowas bei raus 2062780000

Der richtige wert 20 kommt durchaus korrekt in der klasse an, sobald ich ihn allerdings addieren möchte ist das Ergebniss nicht mehr zu gebrauchen.
die Datentypen sind allesamt vom selben Typ long.

Ich bin über jeden Tipp dankbar...

Antworten
Gelöschter Account
  • Forum-Beiträge: 281

13.06.2011, 19:43:14 via Website

Setz doch mal einen Breakpoint auf Zeile 2 und schau mal, wie oft du dort ankommst...

Antworten
Marcel S.
  • Forum-Beiträge: 120

20.06.2011, 13:19:33 via Website

Sorry Ich war mein Fehler ich hab mich da beim Casting vertan.

Danke

Antworten