gpt4 book ai didi

java - 什么类型的三角形?

转载 作者:行者123 更新时间:2023-12-02 00:54:31 25 4
gpt4 key购买 nike

我编写了一个程序,在其中插入三角形两条边的长度以及它们之间的角度。程序将使用此信息来告诉我该三角形是等边、等腰还是等边相反。

如果您知道长度 a、b 和 x(它们之间的角度),您可以使用以下公式计算最后一条边:c = sqrt(aa + bb -2*abcos(x))

我不知道为什么它不起作用。我已经在数学上正确地完成了这一切。我相信我错误地使用了 Java 语言,因此我无法让它工作。

我相信问题出在第一个“如果”的问题上。所以我暂时尝试禁用其他两个,以便能够尝试程序是否可以识别三角形是否至少是等边的,但它不能。

import javax.swing.*;

public class Upp46 {
public static void main(String[] arg){

String a, b, x;
a = JOptionPane.showInputDialog("Length of a");
b = JOptionPane.showInputDialog("Length of b");
x = JOptionPane.showInputDialog("Angle between a & b");
/* "x must be converted to radians"
before it can be applied */

double ai, bi, xi, c;
ai = Double.parseDouble(a); //Length of a
bi = Double.parseDouble(b); //Length of b
xi = Double.parseDouble(x); //Angle x in degrees
xi = xi * (Math.PI/180); //Converts from degree to Radians
c = Math.sqrt(ai*ai + bi*bi -2*ai*bi*Math.cos(xi)); //Length of c

if (ai == bi && c == ai){
JOptionPane.showMessageDialog(null, "The triangle is equilateral");
}
/*else if (ai == bi && c != bi ||
ai == c && bi !=c ||
bi == c && c !=bi){
JOptionPane.showMessageDialog(null, "Triangeln är likbent");
}
else {
JOptionPane.showMessageDialog(null, "Triangeln är oliksidig");
}
*/
}
}

最佳答案

我认为 java 没有使用精确的 PI 数字,因此这是行不通的。在我的书中,它建议我使用abs值和<作为一个小值。

例如: e = 1e-10
if (Math.abs(a-b) < e

关于java - 什么类型的三角形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57831828/

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