2016-04-29 4 views
-1

Also, gerade jetzt versuche ich die Winkel eines rechtwinkligen Dreiecks mit der Umkehrung von Cosine zu berechnen. Ich weiß jedoch nicht, wie ich das machen soll. Ich kenne die Gleichung, nur nicht, wie man in Code umwandelt. Die Gleichung wäre :: Cos-1 (A/C); Dies scheint jedoch in Java nicht zu funktionieren. Ich probierte auchBerechnen von Cos inverse, um Winkelgrad zu finden

angleX = (int) Math.acos(sideC/sideA); 
+0

Was sind die Datentypen von SideC und SideA? –

+1

Funktioniert nicht? Natürlich tut es das. Sie erkennen, dass jede Sprache Radianten anstelle von Grad für Winkel verwendet, nicht wahr? Sollten Winkel nicht doppelt sein und keine Ints? Java ist in Ordnung; Es ist dein Verständnis, das fehlt. – duffymo

+0

können Sie den Compete-Code und das erwartete Ergebnis posten –

Antwort

1

Wenn sideC und sideA ganze Zahlen wären, hätte man ganzzahlige Division (2/3 == 0). Wenn Sie kein Ergebnis im Bogenmaß, sondern in Grad erwarten, ist eine Konvertierung erforderlich. Da double eine Approximation ist, verwende auch round.

if (sideA == 0) { ... } 
angleX = (int) Math.round(
     Math.toDegrees(Math.acos(((double)sideC)/sideA))); 
Verwandte Themen