• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

QuadGleichung.java

mucke

Celler Dickstiel
Registriert
28.06.08
Beiträge
798
Hallo soll diese aufgabe hier lösen:

Schreiben Sie ein Programm, das für drei beliebige ganze Zahlen a, b, c, die Lösung(en) der Glei- chung ax2 + bx + c = 0 berechnet. x sei dabei vom Typ float. Es sollen alle möglichen Fälle behandelt werden. Testen Sie das Programm mit folgenden Werten (zur Überprüfung sind die zu erwartenden Lösungen mit angegeben):
(1, -8, 15)zwei Lösungen: 3.0 und 5.0
(9, 6, 1)eine Lösung: -0,3333...
(3, 2, 7)keine reellen Lösungen (
0, 0, 0)unendlich viele Lösungen
(0, 3, -2)eine Lösung: 0.6666... (
0, 0, 5)keine Lösungen
Hinweis: Die Wurzel berechnet sich mittels Math.sqrt(). Beispiel:
x = Math.sqrt(y);
Danach steht in x die Wurzel von y.


/* QuadGleichung.java */

public class QuadGleichung
{
public static void main (String[] args)
{
int a = 1;
int b = -8;
int c = 15;


double x1F = -b/2+Math.sqrt(b*b/4-c);
double x2F = -b/2-Math.sqrt(b*b/4-c);


System.out.println(" x1 = " + x1F);
System.out.println(" x2 = " + x2F);
}
}

das habe ich bis jetzt auf die erste lösung komm ich aber wenn ich es mit den zweiten Zahlen probier komm ich net weiter
 

Irgendein Held

Oberösterreichischer Brünerling
Registriert
17.06.07
Beiträge
714
Mathematischer Fehler ;)
Du hast ja 6x^2, was sagt dir das? Richtig, normieren. ;)
 

mucke

Celler Dickstiel
Registriert
28.06.08
Beiträge
798
Habs jetzt so gelöst, stimmt eigentlich alles soweit

/* QuadGleichung.java */

public class QuadGleichung
{
public static void main (String[] args)
{
int a = 9;
int b = 6;
int c = 1;
float x1;
float x2;

double Dis =((b)*(b)-4*a*c);

if (Dis > 0)
{
double x1F = ((-b+Math.sqrt(Dis))/(2*a));
double x2F = ((-b-Math.sqrt(Dis))/(2*a));


System.out.println(" x1 = " + x1F);
System.out.println(" x2 = " + x2F);
}
else if ( Dis == 0)
{
double x1F = ((-b+Math.sqrt(Dis))/(2*a));
System.out.println(" x1 = " + x1F + "doppelt");
}
else if ( Dis < 0)
{System.out.println("keine loesung");
}
}
}