Exkurs: Mathematische Funktionen mit java.lang.Math
Eine der großen Stärken von Java sind vordefinierte Klassen, die in einer Bibliothek bzw. einem package mitgeliefert werden. Ein typisches Beispiel für so eine vordefinierte Klasse ist die Klasse Math, die im package java.lang enthalten ist. Die Sprache Java selbst sieht nur einfache arithmetische Operationen wie Addition, Subtraktion, Multiplikation etc. vor. Schon bei einfachen mathematischen Formeln müssen wir aber kompliziertere mathematische Funktionen verwenden wie z.B. Quadratwurzel, Sinus oder Cosinus. Die Designer von Java haben sich entschlossen, diese komplexeren mathematischen Funktionen in eine spezielle Klasse namens Math zu packen. Die Klassen von java.lang werden immer automatisch vom Java-Compiler verfügbar gemacht, so dass das package nicht importiert werden muss.
Dokumentation der Klasse java.lang.Math
Beispiele für die Verwendung von Methoden der Klasse Math:
Funktion | Methode |
---|---|
Kreiszahl Pi | Math.PI |
Quadratwurzel von x | Math.sqrt(x) |
Potenz: x hoch a | Math.pow(x,a) |
Winkelfunktionen (sin, cos, tan) | Math.sin(x) |
Rundung | Math.round(x) |
Aufrunden | Math.ceil(x) |
Abrunden | Math.floor(y) |
Anwendungen
Beispiel 1:
public void wurzelBerechnen(){ Scanner eingabe = new Scanner (System.in); System.out.print ("Geben Sie eine Zahl ein: "); int x = eingabe.nextInt(); System.out.println("Die Wurzel von "+x+" ist "+Math.sqrt(x)); }
Beispiel 2:
public void gerundeteWurzel(){ Scanner eingabe = new Scanner (System.in); System.out.print ("Geben Sie eine Zahl ein: "); int x = eingabe.nextInt(); System.out.println("Die gerundete Wurzel von "+x+" ist "+Math.round(Math.sqrt(x))); }
Aufgabe 1
Erstelle eine Methode public void pythagoras(), die nach Eingabe der Seitenlänge der beiden Katheten eines rechtwinkligen Dreiecks die Länge der Hypotenuse berechnet.
Aufgabe 2
Erstelle eine Methode public void kugel(), die nach Eingabe des Radius das Volumen und die Oberfläche der entsprechenden Kugel berechnet. (Achtung: Bei der Berechnung des Volumens lauert eine böse "Datentypfalle" !!)
Aufgabe 3
Erstelle eine Methode public void Zylinder(), die nach Eingabe des Radius und der Höhe das Volumen und die Oberfläche des entsprechenden Zylinders berechnet.
Aufgabe 4
Erstelle eine Methode public void Prismaberechnung(), die nach Eingabe der Seitenlänge des gleichseitigen Grundflächendreiecks und der Höhe des Prismas das Volumen und die Oberfläche berechnet.