Формула расстояния при печати в Java NaN — как это исправить?

StackOverflow https://stackoverflow.com/questions/1950950

  •  21-09-2019
  •  | 
  •  

Вопрос

Хорошо, поэтому я использую формулу расстояния, чтобы распечатать расстояние между двумя объектами игрока изнутри одного из объектов игрока (где «другое» — это другой объект игрока).Как я могу заставить его просто напечатать число, не получая «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)));
//                                                            ^^^
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top