Java 三角反函数不起作用

Java 三角反函数不起作用,java,android,trigonometry,Java,Android,Trigonometry,我在android计算器应用程序中工作。我的三角反函数在弧度的情况下工作正常。但在这种情况下,它们不能正常工作 if (func.equals("sin")) x = Math.sin(Math.toRadians(x)); else if (func.equals("cos")) x = Math.cos(Math.toRadians(x)); else if (func.equals("tan")) x = Math.tan(Math.toRadians(x)); else if (f

我在android计算器应用程序中工作。我的三角反函数在弧度的情况下工作正常。但在这种情况下,它们不能正常工作

if (func.equals("sin"))  x = Math.sin(Math.toRadians(x));
else if (func.equals("cos"))  x = Math.cos(Math.toRadians(x));
else if (func.equals("tan"))  x = Math.tan(Math.toRadians(x));
else if (func.equals("asin")) x = Math.asin(Math.toRadians(x));
else if (func.equals("acos")) x = Math.acos(Math.toRadians(x));
else if (func.equals("atan")) x = Math.atan(Math.toRadians(x));

如果我将它们四舍五入,那么
sin(.5)=0.0
,这是错误的?

反向触发函数不采用弧度。他们接受价值观。asin和acos采用[-1,1]中的值,atan采用[-inf,inf]中的值。你永远不会在asin/acos/atan的输入上做一个托拉迪安,你会在输出上做它。

请构造一个。x是什么类型的?是的,请给我们足够的代码来编译它,看看问题所在。他的代码足以回答他的问题。你在编程方面想得太多,在数学方面想得不够。@Gabeschen-的确,但前两行(以及调用的具体“示例”)都是指正向触发器函数。Thnaks,但当我提出sin(.5)时,它给出了错误的答案,例如math.round(math.sin(math.toRadians(x));如果我去掉Math.round,那么如果我以180度的角度,把弧度放到正常的三角函数中,它也会给出错误的答案。你不需要去做反函数。想想数学:sin(x)=y。比意味着asin(y)=x。Y不是弧度。是的,我明白你的意思35; Gabe Sechan,但我要的是简单的三角函数。当角度大于90或负时,他们给出了错误的答案。如果我把数学四舍五入,我也会得到错误的答案