Exkurs: Mathematische Funktionen mit java.lang.Math: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „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 …“) |
|||
(8 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 17: | Zeile 17: | ||
|- | |- | ||
| Potenz: x hoch a | | Potenz: x hoch a | ||
− | | Math.pow( | + | | Math.pow(x,a) |
|- | |- | ||
| Winkelfunktionen (sin, cos, tan) | | Winkelfunktionen (sin, cos, tan) | ||
Zeile 42: | Zeile 42: | ||
System.out.print ("Geben Sie eine Zahl ein: "); | System.out.print ("Geben Sie eine Zahl ein: "); | ||
int x = eingabe.nextInt(); | int x = eingabe.nextInt(); | ||
+ | if(x<0){System.out.println("Ungültige Eingabe!"); wurzelBerechnen();}; | ||
System.out.println("Die Wurzel von "+x+" ist "+Math.sqrt(x)); | System.out.println("Die Wurzel von "+x+" ist "+Math.sqrt(x)); | ||
} | } | ||
Zeile 53: | Zeile 54: | ||
System.out.print ("Geben Sie eine Zahl ein: "); | System.out.print ("Geben Sie eine Zahl ein: "); | ||
int x = eingabe.nextInt(); | int x = eingabe.nextInt(); | ||
+ | if(x<0){System.out.println("Ungültige Eingabe!"); gerundeteWurzel();}; | ||
System.out.println("Die gerundete Wurzel von "+x+" ist "+Math.round(Math.sqrt(x))); | System.out.println("Die gerundete Wurzel von "+x+" ist "+Math.round(Math.sqrt(x))); | ||
} | } | ||
Zeile 61: | Zeile 63: | ||
'''Aufgabe 1''' | '''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. | + | Erstelle eine Methode '''public void pythagoras()''', die nach Eingabe der Seitenlänge der beiden Katheten eines rechtwinkligen Dreiecks die Länge der Hypotenuse berechnet. Bei Eingabe negativer Werte soll ein Hinweis ausgegeben werden. |
[[Lösungsvorschlag Exkurs Math - Aufgabe 1 | Lösungsvorschlag]] | [[Lösungsvorschlag Exkurs Math - Aufgabe 1 | Lösungsvorschlag]] | ||
Zeile 71: | Zeile 73: | ||
[[Lösungsvorschlag Exkurs Math - Aufgabe 2 | Lösungsvorschlag]] | [[Lösungsvorschlag Exkurs Math - Aufgabe 2 | Lösungsvorschlag]] | ||
+ | |||
+ | |||
+ | '''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. | ||
+ | |||
+ | |||
+ | [[Lösungsvorschlag Exkurs Math - Aufgabe 3 | Lösungsvorschlag]] | ||
+ | |||
+ | |||
+ | '''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. | ||
+ | |||
+ | [[Lösungsvorschlag Exkurs Math - Aufgabe 4 | Lösungsvorschlag]] |
Aktuelle Version vom 16. Oktober 2014, 08:15 Uhr
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(); if(x<0){System.out.println("Ungültige Eingabe!"); wurzelBerechnen();}; 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(); if(x<0){System.out.println("Ungültige Eingabe!"); gerundeteWurzel();}; 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. Bei Eingabe negativer Werte soll ein Hinweis ausgegeben werden.
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.