Hausaufgabe Berechnung quadratischer Funktion

Buddy2010

Mitglied
Hallo zusammen!

und zwar soll ich als Hausaufgabe ein Programm in Java (Console) schreiben, in das ich dann die Parameter a, b und c einer quadratischen Funktion einlesen soll. Ausgeben soll es mir die Anzahl der Nullstellen sowie deren Koordinaten, den Schnittpunkt der Parabel, den Scheitelpunkt und ob es sich um eine gestauchte/gestreckte Parabel handelt, die nach oben/unten geöffnet ist.

Soviel zur Theorie. Ein bisschen was hab ich schon zusammengebastelt:

Java:
import java.io.*;
import java.text.*;
import java.lang.*;

public class quadratische {

  public static void main(String[] args) throws IOException {
  String eingabe;
  BufferedReader daten=new BufferedReader (new InputStreamReader (System.in));

  DecimalFormat f = new DecimalFormat("#0.00"); //nur zwei Nachkommastellen, mindestens eine Vorkommastelle
  
  double a;
  double b;
  double c;
  double xq; //x²
  double x;
  double diskriminante;

  System.out.print("\nEigenschaften einer quadratischen Funktion f(x) = ax² + bx + c :");
  System.out.print("\n\nEingabe der Parameter a, b und c (a darf nicht 0 sein!):");
  
  System.out.print("\n\na:");
  eingabe=daten.readLine();
  a=Double.parseDouble(eingabe);
  
  System.out.print("b:");
  eingabe=daten.readLine();
  b=Double.parseDouble(eingabe);
  
  System.out.print("c:");
  eingabe=daten.readLine();
  c=Double.parseDouble(eingabe);
  
  
  //p-q Formel Nullstellenberechnung
  
  diskriminante = (((b/2)*(b/2))-c);
  if (diskriminante >= 0) {
	  double x1,x2;
	  x1 = -(b/2) + Math.sqrt (diskriminante);
	  x2 = -(b/2) - Math.sqrt (diskriminante);
	  if (x1==x2){
		System.out.println("Die Parabel hat eine Nullstelle bei:");
		System.out.println(f.format(x2));
	  }
	  else {
		System.out.print("Die Parabel hat zwei Nullstellen bei:");
		System.out.println(f.format(x1));
		System.out.println(f.format(x2));

	  }
	}
	else {
	  System.out.print("Keine Nullstelle, die Diskriminate ist "+diskriminante);
	}
  }
}

Die Nullstellenberechnung bzw. die P-Q Formel spuckt mir immer nur negative Ergebnisse aus, wenn ich sie per Hand nachrechne bekomme ich aber positive Ergebnisse. Außerdem hab ich keinen blassen Schimmer, wie ich den Rest umsetzen soll.

Wäre nett, wenn mir jemand ein paar Ansätze nennen könnte, wie ich weiter machen kann.

Greetz
 

Andi_CH

Top Contributor
1. gibt es einen Hausaufgabenthread -> das gehör eigentlich dorthin
2. hat das eher mit Mathe als mit Java zu tun.

Mit welchen Formeln findest du denn die gesuchten Werte?
Schreib die mal hin und wenn du es dann nicht schaffst die in Java zu implementieren helfen wir schon weiter ...

Ich habe nämlich keine Ahung woher du
Java:
diskriminante = (((b/2)*(b/2))-c);
hast und ob das stimmt ....
 

Andi_CH

Top Contributor
ok, ich kanns vorwegnehmen - deine Formel stimmt nicht, also kümmere dich bitte erst um die Mathe (2 Minuten wikpediastudium helfen)
 

Buddy2010

Mitglied
Klar hat es eher mit Mathe zu tun. In Mathe weiß ich ja auch, wie es geht, ich muss es halt in Java programmieren. Das ist für mich die Schwierigkeit.

Die Nullstelle berechnet man mit der PQ-Formel:

cffbb6651a5c9509a004d7cca0e84290.png


Die Informationen dazu nimmt man sich aus der Quadratischen Funktion

f(x) = ax² + bx + c

wobei b = p und c = q sind.

Soweit erstmal.

Greetz
 
G

Gast2

Gast
Java:
  diskriminante = (((b/2)*(b/2))-c);
  if (diskriminante == 0) {
        System.out.println("Die Parabel hat eine Nullstelle bei:");
  } else if diskriminante > 0) {
        System.out.print("Die Parabel hat zwei Nullstellen bei:");
  } else {
      System.out.print("Keine Nullstelle, die Diskriminate ist "+diskriminante);
  }
 

VfL_Freak

Top Contributor
Moin,

ok, wo Du Recht hast, hast Du Recht ;)

NEIN!
p und q basieren auf der Grundform welche
x^2 + px + q ist
du hast aber
a*x^2 + b*x + c


Ergo ist
p = b / a
und
q = c / a

also die vorliegende Form in die Normalform umgewandelt werden :
Quadratische Gleichungen - Reinquadratische Gleichungen und Gleichungen ohne Absolutglied (onlinekurs von www.mathematik.net)

und ergo_
Java:
double temp = (b/a) * (1/2);
diskriminante = (temp*temp) - c;

Gruß
Klaus
 

Buddy2010

Mitglied
okay, das mit der pq-formel hab ich jetz auch gerafft, denkfehler von mir.

trotzdem werd ich nicht ganz schlau daraus, was ihr hier so als Lösungsansatz schreibt.

Java:
//p-q Formel Nullstellenberechnung
  double temp = (b/a) * (1/2);
  diskriminante = ((temp*temp) - c);
    if (diskriminante >= 0) {
      double x1,x2;
      x1 = -(b/2) + Math.sqrt (diskriminante);
      x2 = -(b/2) - Math.sqrt (diskriminante);
      if (x1==x2){
        System.out.println("Die Parabel hat eine Nullstelle bei:");
        System.out.println(f.format(x2));
      }
      else {
        System.out.print("Die Parabel hat zwei Nullstellen bei:");
        System.out.println(f.format(x1));
        System.out.println(f.format(x2));

      }
    }
    else {
      System.out.print("Keine Nullstelle, die Diskriminate ist "+diskriminante);
    }

bekomme immer noch ein falsches Ergebnis raus...
 

Landei

Top Contributor
Schreib einfach:
Java:
double p = b / a;
double q = c / a
...
diskriminante = (p*p)/4 - q;
...
double root = Math.sqrt(diskriminante);
x1 = -(p/2) + root;
x1 = -(p/2) - root;
...
 

Buddy2010

Mitglied
Habe es jetzt soweit:

Java:
double a;
  double b;
  double c;
  double x1;
  double x2;
  double p;
  double q;
  double root;
  double diskriminante;

...

//p-q Formel Nullstellenberechnung
  
  diskriminante=(((p*p)/4)-q);
  p=(b/a);
  q=(c/a);
  root=Math.sqrt(diskriminante);
  x1 = -(p/2) + root;
  x2 = -(p/2) - root;
  
  if (diskriminante == 0) {
        System.out.println("Die Parabel hat eine Nullstelle bei:");
        diskriminante = (p*p)/4 - q;
        
  } else if (diskriminante > 0) {
        System.out.print("Die Parabel hat zwei Nullstellen bei:");
  } else {
      System.out.print("Keine Nullstelle, die Diskriminate ist "+diskriminante);
  }
  }

Bekomme aber beim compilieren folgende Meldung:

Code:
Compile D:\Schule\Informatik\quadratische Funktionen Hausaufgabe\quadratische.java with Java-Compiler
quadratische.java:52:20: variable p might not have been initialized
  diskriminante=(((p*p)/4)-q);
                   ^
quadratische.java:52:28: variable q might not have been initialized
  diskriminante=(((p*p)/4)-q);
                           ^
2 errors

und werde nicht schlau daraus. Ne Idee?

greetz
 
G

Gast2

Gast
Du hast p und q nicht zugeweisen bevor du sie verwendest, hast nen Zeilendreher drin:
Java:
p=(b/a);
q=(c/a);
diskriminante=(((p*p)/4)-q);
 

Landei

Top Contributor
Das Wurzelziehen muss unbedingt im [c]if (diskriminante == 0) [/c]-Block kommen, und nicht davor. Sonst negativer Wert -> BUMM!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Hausaufgabe: Java-Programm schreiben zur Berechnung von x und y Java Basics - Anfänger-Themen 9
Mojtaba1986 Hausaufgabe (Schleifen) Java Basics - Anfänger-Themen 33
H Codeverbesserung, FH-Hausaufgabe | Bruchrechner Java Basics - Anfänger-Themen 5
I Programmierung-Hausaufgabe: Hilfe benötigt Java Basics - Anfänger-Themen 8
G Hausaufgabe mit LinkedList und LinkedListStack verstehen Java Basics - Anfänger-Themen 6
Y Anfänger Hausaufgabe... Swing Java Basics - Anfänger-Themen 6
K BubbleSort Hausaufgabe Java Basics - Anfänger-Themen 20
K Ausgabe problem in einer Hausaufgabe Java Basics - Anfänger-Themen 5
J Hilfe Java Hausaufgabe kommt nicht weiter Java Basics - Anfänger-Themen 5
S hausaufgabe Java Basics - Anfänger-Themen 4
T Theoretische Hausaufgabe Java Basics - Anfänger-Themen 4
T Problem mit einer Java Hausaufgabe Java Basics - Anfänger-Themen 14
I File Uploader... Statusanzeige, Berechnung des Status etc. Java Basics - Anfänger-Themen 0
Bugs Bunny Fehlerhafte Berechnung beim erneuten Durchlaufen der Schleife Java Basics - Anfänger-Themen 5
Jamie logische Verknüpfung zur Schaltjahr-Berechnung Java Basics - Anfänger-Themen 30
Stephan_kl Reihenwert-Berechnung, Ergebnis mit vorherigem Ergebnis vergleichen Java Basics - Anfänger-Themen 11
Abraham42 Berechnung der Kühlung Java Java Basics - Anfänger-Themen 12
S Hashcode-Berechnung + ^ Java Basics - Anfänger-Themen 2
J Median-Berechnung von 2D-Teilarrays Java Basics - Anfänger-Themen 56
F Tabelle - Berechnung Rang Java Basics - Anfänger-Themen 2
B Berechnung der Position von Kinderelemente von einem Elternknoten Java Basics - Anfänger-Themen 23
S Berechnung der sleep time ist falsch Java Basics - Anfänger-Themen 46
S Switch-Case zur Berechnung der Einkommensteuer Java Basics - Anfänger-Themen 15
F Berechnung der Rektaszension und Deklination eines Sterns Java Basics - Anfänger-Themen 7
2 Taschenrechner mit GUI Problem bei der Berechnung Java Basics - Anfänger-Themen 8
V Erste Schritte Pi Berechnung Java Basics - Anfänger-Themen 47
M Berechnung der Reststrecke bei Graphen Java Basics - Anfänger-Themen 1
V Algorithmus zur fortlaufenden Berechnung des duechscjnt Java Basics - Anfänger-Themen 1
B Berechnung zu einer Schleife formen Java Basics - Anfänger-Themen 6
B Berechnung Median mit Methode Java Basics - Anfänger-Themen 7
CptK Methoden Berechnung von Anfangsgeschwindigkeit und Winkel Java Basics - Anfänger-Themen 27
K Erste Schritte Berechnung der Summe zweier Arrays Java Basics - Anfänger-Themen 15
S Erste Schritte Berechnung des Paketportos - Problem/Frage Java Basics - Anfänger-Themen 52
J Gleitkommazahlen, Berechnung von pi Java Basics - Anfänger-Themen 4
J Berechnung liefert falsches Ergebnis Java Basics - Anfänger-Themen 2
kilopack15 Verzweiflung wegen Berechnung mit Multithreading Java Basics - Anfänger-Themen 1
A Die Werte zur Berechnung müssen als Parameter übergeben werden? Java Basics - Anfänger-Themen 7
Salo Berechnung von Winkeln Java Basics - Anfänger-Themen 28
M Restbuchwert Berechnung geht nicht Java Basics - Anfänger-Themen 45
Ghostman1711 Pi berechnung Methode aufrufen Java Basics - Anfänger-Themen 2
L Rekursive Methode zur Berechnung der Potenz q hoch p Java Basics - Anfänger-Themen 17
beatles Operatoren Operatoren - Berechnung Java Basics - Anfänger-Themen 40
K Best Practice Algorithmus für Berechnung von Zahlenreihenfolge Java Basics - Anfänger-Themen 12
N Verzögerte Berechnung "Lazy" Java Basics - Anfänger-Themen 8
J Erste Schritte Rundungsproblem - Berechnung Notendurchschnitt Java Basics - Anfänger-Themen 13
S Variablen Vektor zur Berechnung verwenden Java Basics - Anfänger-Themen 4
T Java double berechnung fehler Java Basics - Anfänger-Themen 2
M Berechnung in Java Java Basics - Anfänger-Themen 4
S Berechnung der Arbeitstage in einem Zeitraum Java Basics - Anfänger-Themen 9
E Problem bei rekursiver Berechnung des Binomialkoeffizienten Java Basics - Anfänger-Themen 5
T Iterative Pi Berechnung in Rekursive Java Basics - Anfänger-Themen 2
S Double, int, Berechnung Java Basics - Anfänger-Themen 3
C Nach Berechnung runden und Wert ausgeben Java Basics - Anfänger-Themen 7
E Berechnung für Shop einbinden Java Basics - Anfänger-Themen 8
S Klassen Formel zur Berechnung .... Bitte um Hilfe Java Basics - Anfänger-Themen 7
S Euklid Algorithmus zur Berechnung des GGTs Java Basics - Anfänger-Themen 2
OnDemand Berechnung in die start und paint Methode eines Applets Java Basics - Anfänger-Themen 28
P Schleife zur Berechnung von einer Summe Java Basics - Anfänger-Themen 16
F Berechnung einer linearen Abschreibung Java Basics - Anfänger-Themen 5
E Berechnung von Punkten Java Basics - Anfänger-Themen 4
D Berechnung des Abstandes von zwei Punkten in einem Koordinatensystem Java Basics - Anfänger-Themen 14
A Methoden PI-Berechnung Java Basics - Anfänger-Themen 22
S Erste Schritte Berechnung mit Daten aus CSV und Date Objekt Java Basics - Anfänger-Themen 2
C Programm zur Berechnung der Spur einer Matrix Java Basics - Anfänger-Themen 4
P Pythagoras Baum - Berechnung der Punkte Java Basics - Anfänger-Themen 9
A Erste Schritte Steuer Berechnung, Alters Abhängig Java Basics - Anfänger-Themen 5
T Erste Schritte Berechnung von gerade und ungerade Zahlen Java Basics - Anfänger-Themen 10
J Erste Schritte Berechnung Ratten vermehrung Java Basics - Anfänger-Themen 4
P falsches ergebnis bei einfacher berechnung Java Basics - Anfänger-Themen 3
T Iterative Berechnung einer Satellitenbahn Java Basics - Anfänger-Themen 20
M Java Berechnung mit mehreren Lösungen? Java Basics - Anfänger-Themen 9
D Nullstellen-Berechnung Java Basics - Anfänger-Themen 10
L Fehlermeldung bei falscher Berechnung anzeigen Java Basics - Anfänger-Themen 31
A berechnung multiplikatives inverses Java Basics - Anfänger-Themen 5
J Berechnung des aktuellen Alters auf Basis des Geburtstags Java Basics - Anfänger-Themen 45
J Datentypen Fehler bei Berechnung mit Double und Int-Werten Java Basics - Anfänger-Themen 22
G Berechnung von Winkeln mit Cosinussatz Java Basics - Anfänger-Themen 2
B Arrays verwenden für Berechnung Java Basics - Anfänger-Themen 3
R Merkwürdige Modulo Berechnung Java Basics - Anfänger-Themen 7
U Alter Berechnung + sortierung Java Basics - Anfänger-Themen 6
P Berechnung wird nicht durchgeführt Java Basics - Anfänger-Themen 2
D Berechnung von Ostern und Ramadan! Java Basics - Anfänger-Themen 24
N Algorithmus für Berechnung einer Quersumme Java Basics - Anfänger-Themen 9
D Berechnung von Geldausgabe Java Basics - Anfänger-Themen 22
F Berechnung von Kugeln! Java Basics - Anfänger-Themen 9
M rekursive Funktion zur Berechnung der Spiegelzahl Java Basics - Anfänger-Themen 7
Y Ergebnis einer Berechnung an die Main Methode übergeben Java Basics - Anfänger-Themen 11
Semox Ersten Wert eines Intervalls bei Berechnung einschließen Java Basics - Anfänger-Themen 8
J Logarithmische Berechnung und Arrays Java Basics - Anfänger-Themen 2
B LinkedList - Berechnung des Produkts Java Basics - Anfänger-Themen 6
B Berechnung von Preisen per Java-Programm Java Basics - Anfänger-Themen 27
M Alters berechnung aus Geburtsjahr aus dem Buch Java Basics - Anfänger-Themen 5
O Fehler in der String-Distanz-Berechnung Java Basics - Anfänger-Themen 5
-horn- "Berechnung vorwärts, Optimierung rückwärts?" - Wie würdet ihr das machen? Java Basics - Anfänger-Themen 8
P iterative Berechnung Java Basics - Anfänger-Themen 9
1 Berechnung von PI mithilfe von Buffons Nadelproblem Java Basics - Anfänger-Themen 2
G Berechnung zwei Komplexen Zahlen Java Basics - Anfänger-Themen 34
N Rekursive Berechnung der Höhe eines binären Baumes Java Basics - Anfänger-Themen 4
J Programm für interaktive Berechnung von Temperaturverläufen Java Basics - Anfänger-Themen 9
K Annährende ganzzahlige Berechnung der Wurzel Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben