java程序计算三角形的角度,不知道哪里错了?

java程序计算三角形的角度,不知道哪里错了?求解!

哪里不对?

如何改正!

最好详细!

三角形的内角之和为 180度。

假设有三角形如下: 

代码如下:

//Scanner sc = new Scanner(System.in);

//System.out.print("请输入坐标:");

double x1,y1,x2,y2,x3,y3;
x1 = 7;  //sc.nextDouble();
y1 = 1;  //sc.nextDouble();
x2 = 1;  //sc.nextDouble();
y2 = 11;  //sc.nextDouble();
x3 = 13;  //sc.nextDouble();
y3 = 11;  //sc.nextDouble();

double a,b,c;
a = Math.sqrt(Math.pow((x1-x2),2)+Math.pow((y1-y2),2));
b = Math.sqrt(Math.pow((x1-x3),2)+Math.pow((y1-y3),2));
c = Math.sqrt(Math.pow((x3-x2),2)+Math.pow((y3-y2),2));

double cosa,cosb,cosc;
cosa = (b*b+c*c-a*a)/(2*b*c);
cosb = (a*a+c*c-b*b)/(2*a*c);
cosc = (a*a+b*b-c*c)/(2*a*b);

System.out.println("a角度:"+Math.toDegrees(Math.acos(cosa)));
System.out.println("b角度:"+Math.toDegrees(Math.acos(cosb)));
System.out.println("c角度:"+Math.toDegrees(Math.acos(cosc)));

输出如下:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-09
角度应该是反三角函数追问

就算不是,这结果也太大了吧😂

追答

总结一下: 1,不知道你输入的值是什么,构成三角形的条件是两边之和大于第三边 2.余弦定理得到cos值,还需要用accos得到弧度,随后算成角度

追问

我是按直角三角形的坐标输的

那我就是没有第二步😂

回头改改

追答

按直角三角形的坐标输的,但你不能保证两边之和大于第三边啊

相似回答