Hallo
Ich habe das folgende Programm geschrieben:
Main Methode
Klasse
Ich bekomme aber immerwieder den Wert "NaN" zurück. Was muss ich tun?:bahnhof:
Ich habe das folgende Programm geschrieben:
Main Methode
Java:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class QGBerechnen {
/**
* @param args
* @throws IOException
* @throws IOException
*/
public static void main(String[] args) throws IOException {
System.out.println("Quadratische Gleichung");
System.out.println("***********************");
System.out
.println("Formel für die Quadratische Gleichung ist: ax^2+bx+c=0");
InputStreamReader inStream = new InputStreamReader(System.in);
BufferedReader in = new BufferedReader(inStream);
System.out.println("Geben Sie a ein:");
String s = in.readLine();// Tastatureingabe
double a = Double.parseDouble(s);
System.out.println("Geben Sie b ein:");
String t = in.readLine();// Tastaureingabe
double b = Double.parseDouble(t);
CQuadratischeGleichung rechnung = new CQuadratischeGleichung();// neues
// Objekt
// der
// Klasse
// CQuadratischGleichung
// erstellen
System.out.println("Geben Sie c ein:");
String u = in.readLine();// Tastatureingabe
double c = Double.parseDouble(u);
rechnung.setQuadratischeGleichung(a, b, c);// Dem Objekt die Set-Methode
// zuweisen, welche die
// Variablen a, b und c
// erhält.
double plus = (double) rechnung.getQuadratischeGleichungPlus();// Neue
// Variable
// plus
// vom
// Typ
// double
// wird
// erstellen,
// welche
// ihr
// die
// get-Methode
// zugewiesen
// wird.
if (plus < 0) {// wenn die Variable plus kleiner als 0 ist dann
System.out.println("Fehler! Resultat ist kleiner als 0, es ist: "
+ plus);
} else {// Sonst
System.out.println("Ihre + Lösung:" + plus);
}
double minus = (double) rechnung.getQuadratischeGleichungMinus();
if (minus < 0) {// Wenn Die Variable minus kleiner als 0 ist
System.out.println("Fehler! Resultat ist kleiner als 0, es ist: "
+ minus);
} else {// Sonst
System.out.println("Ihre - Lösung: " + minus);
}
}
}
Klasse
Java:
public class CQuadratischeGleichung {
private double m_a;// Membervariablen
private double m_b;
private double m_c;
public CQuadratischeGleichung() {// Konstruktor
}
public CQuadratischeGleichung(double a, double b, double c) {// Konstruktor
m_a = a;
m_b = b;
m_c = c;
}
public void setQuadratischeGleichung(double a, double b, double c) {// Set-Methode
m_a = a;
m_b = b;
m_c = c;
}
public double getQuadratischeGleichungPlus() {
double b = m_b / 2;// p/2
double m_z = b / m_a;// p/x^2
double m_y = m_c / m_a;// q/x^2
return (-m_z + Math.sqrt(m_z * m_z - m_y));// Formel, um die
// Quadratische Gleichung zu
// berechnen
}
public double getQuadratischeGleichungMinus() {// Get-Methode
double b = m_b / 2;// p/2
double m_z = b / m_a;// p/x^2
double m_y = m_c / m_a;// q/x^2
return (-m_z - Math.sqrt(m_z * m_z - m_y));// Formel, für die berechnung
// der Quadratischen
// Gleichung
}
}
Ich bekomme aber immerwieder den Wert "NaN" zurück. Was muss ich tun?:bahnhof: