Exkurs: Mathematische Funktionen mit java.lang.Math: Unterschied zwischen den Versionen

Aus ComeniusWiki
Wechseln zu: Navigation, Suche
 
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)));
 
}
 
}

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.

Lösungsvorschlag


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" !!)

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


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