计算三角形边长

时间:2015-11-14 13:09:36

标签: java math java.util.scanner

我需要编写一个完整的程序,使用以下公式计算三角形的边长:

 a^2 = b^2 + c^2 - 2bc cos(degree).

bcdegree的长度以及用户提供的内容。

这是我的代码:

import java.util.*; 
import static java.lang.Math.*;
public class testing {
  static Scanner console = new Scanner(System.in);
  public static void main(String args[]) {

    double a, b, c, degree;

    System.out.println ("Enter B, C and degree");
    b = console.nextDouble();
    c = console.nextDouble();
    degree = console.nextDouble();

    a = sqrt(((b*b) + (c*c) - (2*b*c))*cos(degree));

    System.out.printf ("answer %.2f ",a);
  }
}

然而,答案与我在纸上解决的答案不同。如果:

b = 4,  c= 7,  degree = 45

程序返回:2.17

我在纸上的答案:5.03

1 个答案:

答案 0 :(得分:4)

Math.cos()接受以弧度表示的角度,而不是度数。您应该将输入角度转换为弧度。

a = sqrt((b*b) + (c*c) - (2*b*c) * cos(toRadians(degree)));

这导致

5.0400416916483275