Lösungsvorschlag 4.2. - Aufgabe 1

Aus ComeniusWiki
Wechseln zu: Navigation, Suche
<
>
public void winkelfunktionen (double x){
//Umrechnung des Winkels von Grad in rad; Hilfsvariable y um Ursprungswert von x zu "konservieren"
double y=Math.toRadians(x);
System.out.println("Der Sinus von "+x+" Grad = "+sinus(y));
System.out.println("Der Cosinus von "+x+" Grad = "+cosinus(y));
if(cosinus(y)==0){System.out.println("Der Tangens von "+x+" Grad ist nicht definiert!");}else
{System.out.println("Der Tangens von "+x+" Grad = "+tangens(y));}
}
 
//Eigentliche Berechnung der Winkelfunktionen auf 8 Stellen Genauigkeit durch Aufruf der Methode zum Runden
private double sinus(double x){
        return runden(Math.sin(x),8);}
 
private double cosinus(double x){
        return runden(Math.cos(x),8);}
 
private double tangens(double x){
        return runden(Math.tan(x),8);}
 
 
private double runden(double wert, int stellen) {
        return  Math.round(wert * Math.pow(10, stellen)) / Math.pow(10, stellen);
    }

Ohne die Methode zum Runden wäre die Ungenauigkeit in der Berechnung so groß, dass z.B. der Ausnahmefall tan(90 Grad) nicht abgefangen werden könnte.

Die Methoden mit Rückgabewert werden auf Zugriffsrecht private gesetzt, da sie dem User verborgen bleiben sollen. Er hat nur Zugriff auf die Methode, die die gewünschten Daten ausgibt.