2013-04-21 30 views
0

我有一个程序,它有一个余弦值。我想要使​​用这个值来找到它对应的角度。然而,acos实际上并没有给我一个角度的价值(arcos通常是这样的)。相反,我得到这个(见下文)。为什么会发生这种情况,阿柯斯是这样工作的?acos不给角度的值?

   double r,cos,sin,angVal; 
       String temp = real.getText().toString(); 
       double a = Double.parseDouble(temp); 
       temp=imag.getText().toString(); 
       double b =Double.parseDouble(temp); 
       r=Math.sqrt(a*a + b*b); 
       cos = a/r; 
       sin = b/r; 
       angVal = Math.acos(cos); 
       ans.setText("r = "+r+"\ncos = "+cos+"\nsin = "+sin+"\nThe angle = "+angVal+""); 

+0

请只要输入输出下一次。 – 2013-04-21 18:31:36

回答

6

是,Math.acos()给出的角度,但在radians(即,在范围[0..pi])。

要将其转换为度,使用方法:

angVal = Math.toDegrees(Math.acos(cos));