Ответ 1
Math.cos()
ожидает, что параметр находится в радианах. Это вернет результат, который вам нужен:
Math.cos(Math.toRadians(50));
Согласно Wolfram Mathematica: cos (50)= 0,6427876096865394;
Но этот код в Java:
System.out.println(Math.cos(50));
дает значение 0.9649660284921133.
Что случилось с java.lang.Math
?
Math.cos()
ожидает, что параметр находится в радианах. Это вернет результат, который вам нужен:
Math.cos(Math.toRadians(50));
Math.cos()
использует радианы, поэтому, чтобы получить ожидаемый результат, вам нужно сделать
System.out.println(Math.cos(Math.toRadians(50)));
Степени < > радианы...........
Большинство тригонометрических функций Java ожидает, что параметры будут в радианах. Вы можете использовать Math.toRadians() для преобразования:
System.out.println(Math.cos(Math.toRadians(50)));
Для меня...
System.out.println(Math.cos(50));
System.out.println(Math.cos(new Double(50)));
System.out.println(Math.cos(Math.toRadians(50)));
System.out.println(Math.cos(Math.toRadians(new Double(50))));
возвращает
+0,9649660284921133
0.9649660284921133
0.6427876096865394
0,6427876096865394
http://www.wolframalpha.com/input/?i=cos%2850deg%29
cos(50deg)
дает тот же результат, что и cos(50)
... поэтому по умолчанию Wolfram является степенью.