Простите, если это глупая новичок, но я действительно не понимаю.
У меня есть переменная-член, объявленная так:
public Double Value;
Когда я присваиваю 3.14159265 значение и пытаюсь вычислить синус этого, это происходит:
system.out.println(Value.toString()); //outputs 3.14159265
Value = Math.sin(Value);
system.out.println(Value.toString()); //outputs NaN
Фактически, это происходит с каждым значением, которое я пробовал - даже с 0!
Math.sin (), кажется, всегда выдает NaN в результате, независимо от значения аргументов.
Документы говорят:
Если аргумент равен NaN или бесконечности, то результат равен NaN.
Но мой аргумент явно не NaN или бесконечность!
Какого черта там происходит?
UPDATE
Оказывается, я самый тупой программист на земле. В моем проекте весь код, конечно, намного сложнее, чем в примере выше. Это своего рода анализатор и оценщик выражений, и для определенных математических функций я использую предложение switch, чтобы решить, какую функцию вызывать - Я забыл оператор break в случаях , из-за которых функция sqrt выполнялась с отрицательный параметр.
Как я уже сказал - самый тупой программист на земле ...
Я принял самый лучший ответ, так как он лучший imho. Извините, ребята, что потратили ваше время -.-