Bonjour,
Je souhaite realiser un simple calculecomposer essentiellement de divisions multiplication et addition avec des doubles.
Mais voila, le resultat obtenut est incoherent, je n'arrive pas a trouver l'erreur
Le resultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Map<String, Double> graphtemp = graphprob; double probtostay = 0; double probfromneighbourrooms = 0; for (Map.Entry<Room, List<Room>> graphindex : graph.entrySet()) {//iterate all rooms to find prob for each probtostay = ((double) (1 / (graphindex.getValue().size() + 1))) * graphtemp.get(graphindex.getKey().getSpaceId()); System.out.println("Space : " + graphindex.getKey().getSpaceId() + " Size : " +(graphindex.getValue().size() + 1) + " Value : " + graphtemp.get(graphindex.getKey().getSpaceId()) + " probtostay : " + probtostay); }
Space : Space1768 Size : 2 Value : 1.0 probtostay : 0.0
Or je devrais avoir: probtostay = 0.5
puisque de ce programme je fait: probtostay = (1/(Size+1))*Value
(Size initialement a 1)
Pourquoi est-ce different?
Merci a vous !
Partager