Lösungsvorschlag 4.2. - Aufgabe 1: Unterschied zwischen den Versionen

Aus ComeniusWiki
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „<pre> public void winkelfunktionen (double x){ double y=Math.toRadians(x); System.out.println("Der Sinus von "+x+" Grad = "+sinus(y)); System.out.println("Der Cos…“)
 
 
(Eine dazwischenliegende Version von einem Benutzer wird nicht angezeigt)
Zeile 1: Zeile 1:
<pre>
+
<<syntaxhighlight lang="java">>
 
public void winkelfunktionen (double x){
 
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);
 
double y=Math.toRadians(x);
 
System.out.println("Der Sinus von "+x+" Grad = "+sinus(y));
 
System.out.println("Der Sinus von "+x+" Grad = "+sinus(y));
 
System.out.println("Der Cosinus von "+x+" Grad = "+cosinus(y));
 
System.out.println("Der Cosinus von "+x+" Grad = "+cosinus(y));
if(kosinus(y)==0){System.out.println("Der Tangens von "+x+" Grad ist nicht definiert!");}else
+
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));}
 
{System.out.println("Der Tangens von "+x+" Grad = "+tangens(y));}
 
}
 
}
Zeile 22: Zeile 23:
 
         return  Math.round(wert * Math.pow(10, stellen)) / Math.pow(10, stellen);
 
         return  Math.round(wert * Math.pow(10, stellen)) / Math.pow(10, stellen);
 
     }
 
     }
</pre>
+
</syntaxhighlight>
  
 
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.
 
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.
 
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.

Aktuelle Version vom 22. Januar 2015, 14:47 Uhr

<
>
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.