我试图制作一个包罗万象的计算器,但我遇到了一个问题。当我试图用余弦定律找到丢失的角度时,我得到的答案与我的计算器不一样。
double answer = 0; else if (solver == 2 && choice == 2) { System.out.println("Enter side length opposite of wanted angle: "); double c = in.nextDouble(); System.out.println("Enter known side #2: "); double b = in.nextDouble(); System.out.println("Enter known side #3: "); double a = in.nextDouble(); answer = (Math.pow(c, 2) - Math.pow(b,2) - Math.pow(a,2)) / (-2 * (a * b)); answer = Math.acos(answer); System.out.println("Answer: " + answer); }
如果没有“答案=数学acos(答案);”,在最后一步之前,我得到了正确的答案,但接下来我需要这个答案的反余弦。我没有得到正确的答案。有人知道为什么吗?
这给了我正确的输出,注意数学的加法。toDegrees():
double answer = (Math.pow(c, 2) - Math.pow(b,2) - Math.pow(a,2)) / (-2 * (a * b)); answer = Math.acos(answer); System.out.println("Answer: " + Math.toDegrees(answer));