Формула расстояния при печати в Java NaN — как это исправить?
Вопрос
Хорошо, поэтому я использую формулу расстояния, чтобы распечатать расстояние между двумя объектами игрока изнутри одного из объектов игрока (где «другое» — это другой объект игрока).Как я могу заставить его просто напечатать число, не получая «NaN»?
System.out.println("D = " + Math.sqrt(Math.pow(x - other.x, 2) - Math.pow(-(y - other.y), 2)));
Решение
Вы пытаетесь извлечь квадратный корень из отрицательного числа.Добавляйте квадраты, не вычитайте их.
Кроме того, отрицание y - other.y
не является необходимым, хотя и безвредным. ценить2 такой же как (-ценить)2 для всех номеров.
System.out.println("D = " + Math.sqrt(Math.pow(x - other.x, 2) + Math.pow(y - other.y, 2)));
// ^^^
Не связан с StackOverflow