2015-09-13 39 views
2

當輸入24作爲邊a,32作爲邊b和115作爲角度C時,我總是得到45.8的輸出。0 正確的角度是47.4 有人可以告訴我我做錯了什麼嗎?餘弦定律第三方 - 爲什麼我得到錯誤的結果?

的計算公式是:

double sideC = Math.sqrt((Math.pow(sideA, 2) + Math.pow(sideB, 2))- 2*(sideA*sideB)*(Math.cos(angleC))); 

來源:

import java.util.Scanner; 

public class TriangleCalc 
{ 
    /** 
    * @param args 
    */ 
    public static void main(String[] args) 
    { 
     System.out.println(" Triangle Calculator "); 

     Scanner inputab = new Scanner(System.in); 

     System.out.println("Input lenghts of sides 'a' and 'b':"); 
     double sideA = inputab.nextDouble(); 
     double sideB = inputab.nextDouble(); 

     System.out.println("Input the size of Angle C in degrees:"); 
     double angleC = inputab.nextDouble(); 
     inputab.close(); 


     double sideC = Math.sqrt(((Math.pow(sideA, 2) + 
     Math.pow(sideB, 2))- (2*(sideA*sideB)*(Math.cos(angleC)))));   

     System.out.println("\t /\\\n\t/\\\n\t/ \\\n\t/  \\"); 
     System.out.printf(" %3.1f",sideA); 
     System.out.print("/  \\"); 
     System.out.printf("%3.1f",sideB); 
     System.out.println("\n /  \\\n /   \\\n" 
          +" /______________\\"); 
     System.out.print(sideC); 

回答

8

作爲的Javadoc Math.cos狀態

一個 - 的角度,以弧度表示。

如果您想使用度數,則需要將度數轉換爲弧度。

您可以使用Math.toRadians

更換

Math.cos(angleC) 

Math.cos(Math.toRadians(angleC)) 
+0

謝謝主席先生!我終於可以停止拉我的頭髮了。 – user3185727

+0

您也可以將答案標記爲已接受。 – TDG