2009-12-23 3 views
0

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

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

ответ

4

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

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

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

Sweet! Спасибо!^__^ – William

+0

Я думаю, что игроки не двигаются в гиперболическом пространстве, тогда :) – RAOF