ax²+bx+c=0

nikels

Mitglied
Für eine quadratische Gleichung ax²+bx+c= 0
sind in Bezug auf die Lösbarkeit folgende Fälle zu betrachten:
•jedes x∈C ist Lösung der Gleichung
•kein x∈C erfüllt die Gleichung
•es existiert eine einzige reelle Lösung
•es existiert eine doppelte reelle Lösung
•es existieren zwei reelle Lösungen
•die Gleichung hat zwei komplexe Lösungen

Schreiben Sie ein Java Programm zur Berechnung einer beliebigen quadratischen Gleichung. Die Koeffizienten der Gleichung sind als Variablen zu definieren. Die Berechnung soll unter Berücksichtigung der Regeln zur Lösbarkeit erfolgen. In jedem der sechs obigen Fälle soll eine geeignete Meldung
mit angezeigt werden.

Mein ansatz wäre folgender:
Ich weis das x= (-b+-wurzel b²-4ac= /)2a)
Die Diskriminante d=b²-4ac sagt aus das wenn sie >0 es 2 Lösungen gibt bei =0 eine Lösung und
<0 keine Lösung .
Mir fehlen aber noch bedingungen was ist mit 2 Komplexen Lösungen gemeint ?
Ist mit den ersten 2 Bediengungen gemeint das wenn x berechnet werden kann dies geschieht und wenn nicht das x = 0 ist ?
 

nikels

Mitglied
Der Anfang sieht bei mir so aus
Java:
import java.util.Scanner;


public class Quadrat {
		public static void main (String [] args) {
			
			
			Scanner q= new Scanner (System.in);
			Scanner w= new Scanner (System.in);
			Scanner e= new Scanner (System.in);
			double a = q.nextDouble();
			double b = w.nextDouble();
			double c = e.nextDouble();
			double d = b*b - 4*a*c;
			
			if(d<0)
				System.out.printf("Kein Lösung %n");
			
			else
				if(d==0)
					System.out.printf("1 Lösung: %g%n", -b/(2*a) );
			
				else
					System.out.printf("2 Lösungen: %g, %g%n", (-b+Math.sqrt(d))/(2*a) , (-b-Math.sqrt(d))/(2*a));
			
			
		}
}
 

turtle

Top Contributor
Beispiel:
x²+2x+5 = 0

hat keine reelle Lösung (-2 ± √(-16))
Lösungen sind komplexe Zahlen
  • x1 = -2 + 4i
  • x2 = -2 - 4i
 
Zuletzt bearbeitet:

nikels

Mitglied
Ok also wenn d<0 dann 2 Komplexe Lösungen.
Werde es gleich versuchen zu implementieren.

Java:
import java.util.Scanner;


public class Quadratischehausaufgabe {
		public static void main (String [] args) {
			
			
			Scanner q= new Scanner (System.in);
			Scanner w= new Scanner (System.in);
			Scanner e= new Scanner (System.in);
			double a = q.nextDouble();
			double b = w.nextDouble();
			double c = e.nextDouble();
			double d = b*b - 4*a*c;
			
			if(d<0){
				System.out.printf("Komplexe Zahlen: %f,%f%n",-b, +Math.sqrt(4*a*c));
				System.out.printf("Komplexe Zahlen: %f,%f%n",-b, -Math.sqrt(4*a*c));}
			
			else
				if(d==0)
					System.out.printf("1 Lösung: %g%n", -b/(2*a) );
			
				else
					System.out.printf("2 Lösungen: %g, %g%n", (-b+Math.sqrt(d))/(2*a) , (-b-Math.sqrt(d))/(2*a));
			
			
		}
}
Formatierung stimmt noch nicht aber so in der Art ?
 
Zuletzt bearbeitet:

nikels

Mitglied
Meine Lösung ist folgende für alle mit dem gleichen Problem.
Java:
class Quadrat {
	public static void main(String[] args) {
		
		double a = Double.parseDouble(args[0]);
		double b = Double.parseDouble(args[1]);
		double c = Double.parseDouble(args[2]);
		double d = b*b - 4*a*c;
		
		
		if((a == 0) && (b == 0) && (c == 0))
			System.out.printf("jedes x e C ist Lösung der Gleichung%n");
		    else
				if((a == 0) && (b == 0))
					System.out.printf("kein x e C erfüllt die Gleichung%n");
					else
						if(a == 0)
							System.out.printf("Es exisitiert eine einzige reelle Lösung bei x= %g%n",(c!=0)? -c/b:0);
							else
								if(d < 0)
								System.out.printf("die Gleichung hat zwei komplexe Lösungen bei x= %g + %gi und bei x= %g - %gi %n", -b/(2*a), 
																										  (Math.sqrt(-d))/(2*a), -b/(2*a),
																										  (Math.sqrt(-d))/(2*a));
										else
											if(d > 0)
												System.out.printf("Es existieren zwei reelle Lösungen bei x= %g und x= %g%n",(-b + Math.sqrt(d))/(2*a),
																													 	 (-b - Math.sqrt(d))/(2*a));
													else
														System.out.printf("Es exisitiert eine doppelte reelle Lösung bei x= %g%n", -b/(2*a));
		
		
	}
}
 

Oben