gpt4 book ai didi

java - 非直角三角形的三角形边输入输出角

转载 作者:行者123 更新时间:2023-11-30 09:02:05 28 4
gpt4 key购买 nike

我正在尝试编写一种方法,该方法将输入三个边长并返回以度为单位的角度。它使用余弦定律求解与 c 对角的角,我换边,所以它可以找到第二个角。但是,该程序不会输出任何正确的角度。例如,我输入边长 6、7 和 8,结果为 55.51、44.28 和 80.21。然而,6 - 7 - 8 三角形中没有一个角与这些角匹配。这是我使用的方法:

double angleNo(double a, double b, double c)
{
double calc = Math.toDegrees(Math.acos((a*a + b*b - c*c)/(2*a*b)));
double s = calc*100;
double r = Math.round(s);
double e = r/100;
return e;
}

此外,如果它有任何帮助,这里是它执行的地方:

        angleOne = pull.angleNo(op1, op2, hypo);
angleTwo = pull.angleNo(op2, hypo, op1);
angleThree = 180 - angleTwo - angleOne;

}

System.out.println("The angles are " + angleOne + "°, " + angleTwo + "°, " + angleThree + "°.")

任何帮助都会很可爱,谢谢。

最佳答案

公式是

enter image description here

所以改变

Math.toDegrees(Math.acos((a*a + b*b - c*c)/2*a*b));

Math.toDegrees(Math.acos((a*a + b*b - c*c)/(2*a*b)));
^ ^

(否则你要除以 2 并乘以 a*b,而你想除以 2*a*b .)

我建议您不要尝试将方法中的值四舍五入。让它成为一个 double 直到你需要打印这个值,然后你使用例如打印它

System.out.printf("Value: %.2f%n", yourDouble);

关于java - 非直角三角形的三角形边输入输出角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26125999/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com