PQ-Formel mit Eclipse?
Hallo,
ich hab versucht eine PQ-Formel zu erstellen:
static final double pqFormeln(double a, double p, double q, boolean art)
{
try
{
p/=a; q/=a;
} catch (ArithmeticException e)
{
p/=-2;
}
double r = sqrt(p*p-q);
if (isNaN(r))
throw new ArithmeticException("Keine reele Zahl. Lösung des "+(art?'+':'-')+" x Bereiches nicht möglich.");
return art?p+r:p-r;
}
private static boolean isNaN(double r)
{
return false;
}
private static double sqrt(double d)
{
return 0;
}
}
Allerdings kann ich kein Java run machen. Meine Aufgabe lautet:
Wir wollen ein Programm schreiben, das die Nullstellen von quadratischen Funktionen der Form f(x) = x 2 + px + q berechnet. Die aus der Mathematik bekannte pq-Formel liefert uns die Nullstellen: x1,2 = − p 2 ± r p 2 4 − q Wenn der Term unter der Wurzel negativ ist, hat die Funktion keine (reelle) Nullstelle; ist er gleich 0, so gibt es genau eine Nullstelle. Schreiben Sie ein Programm PQ , welches p und q als Parameter ubergeben bekommt, die ¨ Nullstellen berechnet und ausgibt; geben Sie dabei zuerst die kleinere Nullstelle aus. Geben Sie anschließend aus, wie viele Nullstellen es gibt (Ausgabe nach dem Schema ” Es gibt 2 Nullstellen.“). Falls nicht genau 2 Argumente beim Programmaufruf angegeben werden, soll eine beliebige Fehlermeldung ausgegeben werden, die mit ERROR beginnt.
Kann mir jemand hier helfen?
- Gib jegliche Fehlermeldungen an, die Eclipse dir liefert.
- Hast du eine valide main-Methode?
- Hast du das richtige Projekt geöffnet / zur Ausführung ausgewählt?
Nein ich kann ja nämlich kein Java run durchführen.
Inwiefern beantwortet das meine drei Rückfragen?
- Nein keine Fehlermeldung
- Jetzt an sich ja
- Und ja hab ich
2 Antworten
Hallo. Ohne es genau gelesen zu haben: try/catch ist für absolute Ausnahmen, nicht für Programmlogik.
Dir Fehlt die Classe drumrum (die datei muss auch so heissen (groß klein schreibung beachten) ) , die ist bei java zwingend nötig (streng OOP) und die main funktion/methode innerhalb damit das system weiss wo der einstiegspunkt ist . ohne das brauch es kein run machen , weils kein start gibt .
dann compiliert das system die .java datei zur .jar datei und die kann gestartet werden.
du musst schon die ersten stunden aufpassen , sonst machste alles falsch .
und bitte benutz hier den codeblock , also code makieren und </> clicken ist hinter dem Tt zeichen rechts.
was heist kommt nichts mehr raus ??? wo was wie , was hast ud gemacht, was sollte passieren .
sorry wir sitzen hier und nciht vor deinem bildschirm , sei unsere augen .
Jetzt hat zwar der Java Run geklappt, aber es kommt keine Lösung, also die Console ist leer
dann lerne debuggen
https://www.google.com/search?q=java+debugging+in+eclipse+tutorial
und guck dir an wo wie dein programm abläuft .
Du musst deine pqFormeln-Methode schon auch irgendwo mit konkreten Werten aufrufen. Die main-Methode ist der Einstiegspunkt des Programms. Wenn in der nichts passiert, wird das Programm auch gleich wieder beendet.
deswegen hab ich ihm auch den tutorial fürs debuggen gegeben . sonst lernt er ja nie wie sein programm abläuft ;) danke das du dir das angeguckt hast .
public class PQ {
public static void main(String[] args) {
}
static final double pqFormeln(double a, double p, double q, boolean art)
{
try
{
p/=a; q/=a;
} catch (ArithmeticException e)
{
p/=-2;
}
double r = sqrt(p*p-q);
if (isNaN(r))
throw new ArithmeticException("Keine reele Zahl. Lösung des "+(art?'+':'-')+" x Bereiches nicht möglich.");
return art?p+r:p-r;
}
private static boolean isNaN(double r)
{
return false;
}
private static double sqrt(double d)
{
return 0;
}
}
Jetzt kommt nichts mehr raus. Hilfe :D