
/**
 * Beschreiben Sie hier die Klasse QuadratischeGleichung.
 * 
 * @author Rainer Helfrich
 * @version 1.0
 */
public class QuadratischeFunktion
{
    private double a;
    private double b;
    private double c;

    /**
     * Konstruktor für Objekte der Klasse QuadratischeFunktion
     */
    public QuadratischeFunktion(double a, double b, double c)
    {
        this.a = a;
        this.b = b;
        this.c = c;
    }
    
    /**
     * Gibt den Funktionswert an der Stelle x zurück.
     * @param x der gegebene x-Wert
     */
    public double getFunktionswert(double x)
    {
        return a * x * x + b * x + c;
    }
    
    /**
     * Gibt den x-Wert des Scheitels zurück.
     */
    public double getScheitelX()
    {
        return -b / (2 * a);
    }
    
    /**
     * Gibt den y-Wert des Scheitels zurück.
     */
    public double getScheitelY()
    {
        double xScheitel = getScheitelX();
        return a * xScheitel * xScheitel + b * xScheitel + c;
    }
    
    /**
     * Gibt die Anzahl der Nullstellen der Funktion zurück (0, 1 oder 2).
     */
    public int getAnzahlNullstellen()
    {
        double diskriminante = b * b - 4 * a * c;
        if (diskriminante > 0) {
            return 2; // Zwei Nullstellen
        } else if (diskriminante == 0) {
            return 1; // Eine Nullstelle
        } else {
            return 0; // Keine Nullstelle
        }
    }
}

