Формула расстояния в java-печати NaN - Как это исправить? - PullRequest
0 голосов
/ 23 декабря 2009

Хорошо, поэтому я использую формулу расстояния, чтобы распечатать расстояние между двумя объектами игрока изнутри одного из объектов игрока (где «другой» - другой объект игрока). Как я могу заставить его просто напечатать номер, не получая «NaN»?

System.out.println("D = " + Math.sqrt(Math.pow(x - other.x, 2) - Math.pow(-(y - other.y), 2)));

1 Ответ

4 голосов
/ 23 декабря 2009

Вы пытаетесь получить квадратный корень из отрицательного числа. Добавьте квадраты, не вычитайте их.

Кроме того, отрицание y - other.y не является необходимым, хотя и безвредным. значение 2 совпадает с (- значение ) 2 для всех чисел.

System.out.println("D = " + Math.sqrt(Math.pow(x - other.x, 2) + Math.pow(y - other.y, 2)));
//                                                            ^^^
...