Formule Distance dans l'impression java NAN - Comment puis-je résoudre ce problème?
Question
Ok, donc je suis en utilisant la formule de la distance pour imprimer la distance entre deux objets de joueurs à l'intérieur de l'un des objets de joueur (avec « autre » étant un autre objet du joueur). Comment puis-je obtenir pour imprimer seulement le nombre sans obtenir un « NaN »?
System.out.println("D = " + Math.sqrt(Math.pow(x - other.x, 2) - Math.pow(-(y - other.y), 2)));
La solution
Vous essayez de prendre la racine carrée d'un nombre négatif. Ajoutez les carrés, ne les soustraire pas.
En outre, annihilant y - other.y
est inutile, si inoffensif. valeur 2 est la même que (- valeur ). 2 pour tous les numéros
System.out.println("D = " + Math.sqrt(Math.pow(x - other.x, 2) + Math.pow(y - other.y, 2)));
// ^^^
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow