2010-06-10 4 views
0

Possible en double:
Why does (360/24)/60 = 0 … in Javaproblèmes de division

Cette ligne de code:

System.out.println ("array[j], "+array[j]+", divided by sum, "+sum+", equals: array[j]/sum: "+ array[j]/sum) ; 

est yeilding cette ligne de texte:

tableau [j], 21, divisé par somme, 100, égal à: tableau [j]/somme: 0

Pourquoi est-ce que cela fait cela? (tout est correct eccept que la réponse devrait être .21)

+0

juste le problème était que ses entiers et j'ai besoin de doubles. – David

Répondre

3

Etes-vous sûr que votre tableau n'est pas entier?

si c'est le cas, essayez d'utiliser le double.

2

Je suppose que aray est un int[] et sum est un int. Dans ce cas, Java effectuera une division entière, ce qui donne 0 dans ce cas.

1

D'autres ont noté la cause. À réparer, (double) aray[j]/sum.

0

En divisant des entiers, vous obtenez une réponse entière arrondie au premier nombre entier. Si vous voulez un résultat décimal, vous devez le faire 21.0/100.0.