2013-07-20 7 views
5

Ich möchte die Math.sin(x) konvertieren, wobei x im Bogenmaß zu einem Ergebnis, das mir als x in Grad nicht Radianten geben wird.Konvertieren Ergebnis von Math.sin (x) in ein Ergebnis für Grad in Java

Ich habe die normale Methode und Java in der Methode der Konvertierung zwischen Grad und Bogenmaß verwendet, aber jedes Argument, das ich an die Math.sin() Methode übergeben wird als Radianten behandelt, wodurch meine Konvertierung zu einem vergeblichen Aufwand.

Ich möchte die Ausgabe einer sin Eingabe gegeben werden, als ob die Eingabe in Grad nicht Radianten wie die Math.sin() Methode behandelt wird.

+0

Ja, Sie Konvertieren Sie zuerst Ihren Gradwert in einen Radiantenwert. Suche nach "Grad in Radianten umwandeln" - oder besser, verwende "Math.toRadians". –

Antwort

10

Java Math Bibliothek gibt Ihnen Methoden zwischen Grad zu konvertieren und Radian: toRadians und toDegrees:

public class examples 
{ 
    public static void main(String[] args) 
    { 
     System.out.println(Math.toRadians(180)) ; 
     System.out.println(Math.toDegrees(Math.PI)) ; 
    } 
} 

Wenn Sie Ihre Eingabe in Grad ist, müssen Sie die Nummer gehen in sin in Radiant konvertieren:

+0

Danke, ich habe all dies früher versucht, bevor ich die Frage gestellt habe, dann habe ich religiert, dass jedes Argument, das ich an die Math.sin() -Methode weitergebe, einen Radiantenwert hat, was es für mich schwierig macht, das Ergebnis des zu geben Sin Wert einer Zahl, wobei die Zahl in Grad ist. Bitte Wie kann ich das tun? –

0

Sie können Radiant in Grad wie folgt konvertieren:

double rad = 3.14159; 
double deg = rad*180/Math.PI; 

Und umgekehrt Grad in Bogenmaß zu konvertieren (multiplizieren mit pi/180). Sie können die "Eingabemethode" für Math.sin nicht ändern (Sie können nicht sagen, dass die Funktion Grad anstelle von Radiant verwenden soll), Sie können nur ändern, was Sie als Parameter übergeben. Wenn Sie möchten, dass der Rest des Programms mit Graden arbeitet, müssen Sie es speziell für Math.sin() in Radiant konvertieren. Mit anderen Worten, multiplizieren Sie den Grad Wert von pi und dividieren durch 180. dies mit Math.sin() zu verwenden, konvertiert es nur etwa so:

double angle = 90; //90 degrees 
double result = Math.sin(angle*Math.PI/180); 

Gerade mit der Umwandlung von selbst etwas nicht ändert, Sie müssen den konvertierten Wert an die sin-Funktion übergeben.

+0

Vielleicht haben Sie übersehen, dass '3.14159' nie als Wert von pi verwendet wurde, sondern lediglich als Winkel im Bogenmaß, um in Grad umgerechnet zu werden. 'Math.PI' wurde an allen Stellen verwendet, wo der wahre Wert von Pi wichtig war. – kevinsa5

1

Wenn der Bogenmaßwert a ist, multiplizieren Sie den Bogenmaßwert mit (22/7)/180.

würde der Code wie folgt für die oben beschriebene Situation sein: -

double rad = 45   // value in radians. 
double deg ; 
deg = rad * Math.PI/180; // value of rad in degrees. 
-1

Wenn Sie sin (90) Grad Wert drucken möchten, können Sie diesen Code verwenden können:

double value = 90.0; 
double radians = Math.toRadians(value); 

System.out.format("The sine of %.1f degrees is %.4f%n", value, Math.sin(radians));