Задать вопрос
krembrule2016
@krembrule2016

Почему я получаю Nan в результате работы функции?

Добрый день!
Всех с прошедшими праздниками!

Пишу такой возврат в функции
return x = (double)Gdx.graphics.getWidth()/2+Math.sqrt((85*85)-(y+(double)Gdx.graphics.getHeight()/2)*(y+(double)Gdx.graphics.getHeight()/2));

В ответ получаю Nan
Прошу прощения за глупый вопрос, просто обычно долго туплю с подобного рода ошибками.
Чяднт?
  • Вопрос задан
  • 151 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Java-разработчик с нуля
    12 месяцев
    Далее
  • Skillfactory
    Профессия Java-разработчик
    14 месяцев
    Далее
  • Академия Eduson
    Java-разработчик
    8 месяцев
    Далее
Решения вопроса 1
zagayevskiy
@zagayevskiy Куратор тега Java
Android developer at Yandex
Я думаю, потому что (85*85) < (y+(double)Gdx.graphics.getHeight()/2)*(y+(double)Gdx.graphics.getHeight()/2
Что, в общем-то, логично, если это высота экрана. Таким образом, корень из отрицательного числа - число комплексное, и Math.sqrt легитимно возвращает NaN. Все дальнейшие вычисления с NaN дают снова NaN.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы