12 Die Klasse Mathematik
12.1 Die statische Methode loeseQuadGl in der Klasse Mathematik

 

statische Methode Wir wollen beginnen eine eigene Klasse Mathematik zu implementieren. Sie soll ähnlich gebaut sein wie die von Java fertig gelieferte Klasse Math. Wir werden im Laufe des Kurses immer weiter an dieser neuen Klasse bauen. Wie macht man das?

public class Mathematik{
    //hier her kommen die Methoden
}

Die Anlage einer Klasse ist, wie wir sehen sehr leicht; vermerkt sei: Klassennamen schreiben wir immer groß. Die Klasse bekommt zunächst Methoden. Die erste Methode die wir schreiben wollen, ist die, die quadratische Gleichungen lösen kann. Ihr "Kopf" sieht so aus:

public static String loeseQuadGl(double a, double b, double c){ 
  ....
}

Die Funktion der Wörter public und static wollen wir an dieser Stelle noch nicht genauer untersuchen. Mit dem Wort String werden wir uns einige Zeilen weiter unten beschäftigen. Bleibt also zunächst

loeseQuadGl(double a, double b, double c)

zuerst kommt der Name der Methode also loeseQuadGl; wir erinnern uns, dass man die Bezeichner von Methoden mit kleinen Buchstaben beginnen lässt,  in der Mitte des Namens kann man, der leichteren Lesbarkeit halber, große Buchstaben verwenden. Als Bezeichner für Methoden wählt man sehr häufig Zeitwörter. Nach dem Bezeichner der Methode folgt in runden Klammern sie sog. Parameterliste (vgl. dazu die selbst geschriebenen Methoden in der Erweiterungsklasse MeineTurtle. In ihr werden Variable deklariert, die bei Ihrem Aufruf mit Werten belegt werden. In unserem Fall erkennt man leicht, dass der Methode die Koeffizienten einer Quadratischen Gleichung übergeben werden. Die Methode soll dann die quadratische  Gleichung, die mit den Werten von a, b und c festgelegt ist, lösen und die Lösung dem Aufrufer der Methode übermitteln. Den Programmcode, der das Lösen bewerkstelligt schreiben wir zwischen die geschweiften Klammern, dort wo noch die Punkte stehen. Der Quelltext sieht ähnlich aus, wie bei unserem Programm QuadGleichDemo.java. Die Zeilen

System.out.println("Text" +...); werden ersetzt druch

return "text" + ...;

Dabei steht das Wort return vor dem Ausdruck, dessen Wert an den Aufrufer der Methode geliefert wird. Jetzt verstehen wir das Wort String im Methodenkopf. Es sagt, es wird ein Wert eines Strings (=Zeichenkette) zurückgegeben.

 

Douwnload:
Mathematik.java
public class Mathematik {
 public static String loeseQuadGl(double a, double b, double c){
   if (a==0){
      if (b==0){
         if (c==0){
            return("alle reellen Zahlen sind Loesungen");
         }
         else{
            return("Die Loesungsmenge ist leer");
         }
      }
      else {
         return("Die Loesung ist x = " + (-c/b));
      }
   }
   else{
      double d = b*b-4*a*c;
      if (d>=0){
         if (d==0){
            return("Die Loesung ist: x = " + (-b/(2*a)));
         }
         else{
           return ("x1 = " + ((-b+Math.sqrt(d))/(2*a)) +
                   ", x2 = " + ((-b-Math.sqrt(d))/(2*a)));
         }
      }
      else{
         return("Die Loesungsmenge ist leer");
      }
   }
 }
}

Die Klasse Mathematik lässt sich compilieren, aber man kann es nicht "laufen lassen". Dazu benötigen wir ein Programm ( = Klasse), die die Methode loeseQuadGl()aufruft.

zu 12.2 Testumgebung
zur Startseite www.pohlig.de (C) MPohlig 2002