# Problem bei der Division mit Java



## ankmanu (23. Jul 2010)

Hi@all,

ich bin sehr überrascht, was bei folgender Rechnung rauskommt:

Folgende Werte sind gegeben:

```
l_arbeitsfläche = 273
h_arbeitsfläche = 69
x_tonne = 56
y_tonne = 44
```
Hier nun die Rechnung:

```
System.out.println("l_arbeitsfläche = "+länge_arbeitsfläche);
System.out.println("h_arbeitsfläche = "+höhe_arbeitsfläche);
System.out.println("x_tonne = "+x_Tonne);
System.out.println("y_tonne = "+y_Tonne);
double x_zwischen = länge_arbeitsfläche / x_Tonne; 
double y_zwischen = höhe_arbeitsfläche / y_Tonne; 
System.out.println("x_zwischen = "+x_zwischen);
System.out.println("y_zwischen = "+y_zwischen);
```

Im Terminal kommt aber folgendes raus:

```
l_arbeitsfläche = 273
h_arbeitsfläche = 69
x_tonne = 56
y_tonne = 44
x_zwischen = 4.0
y_zwischen = 1.0
```
Das Ergebnis stimmt doch einfach nicht, denn zum Beispiel 69/44 = 1,568181818 !!!

Warum ist das so, hab ich einen Fehler gemacht oder liegt das an Java?

viele grüße
manu


----------



## Michael... (23. Jul 2010)

ankmanu hat gesagt.:


> Das Ergebnis stimmt doch einfach nicht, denn zum Beispiel 69/44 = 1,568181818 !!!
> 
> Warum ist das so, hab ich einen Fehler gemacht oder liegt das an Java?


Ersteres. Ich nehme mal an das l_arbeitsfläche, h_arbeitsfläche... *ints* sind.

Ganzzahl / Ganzzahl ergibt immer eine Ganzzahl.

Wenn Du ein double als Ergebnis haben willst, muss mindestens einer der beteiligten Werte ein double sein.


----------



## Tomate_Salat (23. Jul 2010)

Liegt daran, dass du mit Integer teilst und diese kennen keine komma-stellen. Deswegen wird "gerundet". Einfaches Beispiel:


```
int a	= 5,
    b	= 2;
    	
double aa = 5.0,
       bb = 2.0;
    	    	
double dbl	= a/b;
double ddbl	= aa/bb;
    	
System.out.println(dbl);
System.out.println(ddbl);
```

Ergebnis:

```
2.0
2.5
```

rechne gleich mit double, dann stimmt dein Ergebnis auch.


----------



## DrPCox (23. Jul 2010)

ergo: DU benutzt Java falsch^^


----------



## ankmanu (23. Jul 2010)

Okay, das mit dem das int und int immer ganzzahl ergibt wusste ich nicht...

Danke nochmal für die schnellen Antworten!

Viele Grüeß
manu


----------

