40

Wolfram Mathematica によると: cos(50) = 0.6427876096865394 ;

しかし、Java のこのコード:

    System.out.println(Math.cos(50));

0.9649660284921133を与えます。

の何が問題になっていjava.lang.Mathますか?

4

5 に答える 5

100

Math.cos()パラメータがラジアンであると想定しています。これにより、必要な結果が返されます。

Math.cos(Math.toRadians(50));
于 2012-10-19T14:01:58.613 に答える
13

Math.cos()radiansを使用するため、期待される結果を得るには、次のことを行う必要があります

System.out.println(Math.cos(Math.toRadians(50)));
于 2012-10-19T14:02:30.063 に答える
2

度 <> ラジアン........

于 2012-10-19T14:02:10.467 に答える
2

ほとんどの Java 三角関数は、パラメーターがラジアンであることを想定しています。Math.toRadians() を使用して変換できます。

System.out.println(Math.cos(Math.toRadians(50)));
于 2012-10-19T14:04:29.627 に答える
-2

私のため...

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 はデフォルトで次数です。

于 2012-10-19T14:53:36.197 に答える