Quadratische Gleichung mit JAVA lösen

boesl

Mitglied
Hy,

bin noch neu auf dem Gebiet der JAVA Programmierung, genauer gesagt hab ich im Februar damit angefangen.

Folgende Aufgabenstellung:
Schreiben Sie eine Methode "root", die die Lösungen x0,1 einer quadratischen Gleichung ax2 bx + c = 0 als double-array ausgibt.

Wenn beide Lösungen reell sind, dann soll das Ergebnisarray 2 Elemente haben, fallen beide Lösungen zusammen, dann soll das Ergebnisarray nur 1 Element haben, sid die Lösungen komplex, dann ein leeres Ergebnisarray zurück gegeben werden

Soweit sogut, die Methode steht an und für sich, nur mit der Ausgabe hab ich dann so meine Probleme.
Hier mal mein Code:

Java:
public class Main {

    public static void main(String[] args) {
        double[] x = MyMath.root(2, 10, 3);
    	
        System.out.println(x[0]);
        System.out.println(x[1]);

    }

}

class MyMath {    
     
     public static double[] root (int a, int b, int c) {
    	 
    	 // Loesungsmenge kann anhand der Diskriminante ( x = b*b - 4*a*c) abgelesen werden
    	 // [url=http://de.wikipedia.org/wiki/Quadratische_Gleichung#Diskriminante]Quadratische Gleichung ? Wikipedia[/url]
    	 double x = b*b  - 4*a*c;
    	 
    	 // wenn x < 0 -> keine reelle Loesung
    	 if (x < 0) {
    		 double[] z = new double[2];
    		 return z;
    		 
    		 // wenn x = 0 -> x1 & x2 liefern das selbe Ergebnis
    	 } else if (x == 0) {
    		 double[] z = new double[1];
    		 z[0] = (-1 * b) / (2 * a);
    		 return z;
    		 
    		 // wenn x > 0 -> 2 Loesungen
    	 } else {
    		 double[] z = new double[2];
    		 z[0] = (- b + MyMath.squareroot(x)) / (2 * a);
    		 z[1] = (- b - MyMath.squareroot(x)) / (2 * a);
    		 return z;
    	 }
     }
}

Die Methode MyMath.squareroot ist eine selbstgebastelte Funktion die die Wurzel berechnet, da keine Standardfunktionen verwendet werden dürfen

Das Problem das ich nun habe:
so wie der Code dasteht, funktioniert es ohne Probleme, unter der Wurzel kommt 76 heraus, dh ich bekomme 2 Lösungen.

Wenn ich nun die Zahlen verändere, zB

Java:
double[] x = MyMath.root(5, 10, 5);

würde unter der Wurzel 0 herauskommen und es soll nur ein Ergebnis geliefert werden. Dadurch dass ich aber in main

Java:
System.out.println(x[0]);
System.out.println(x[1]);

stehen habe, will Java mir natürlich ein 2tes Array liefern, was es aber nicht gibt, daher bekomme ich folgende Meldung:

Code:
-1.0
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
	at root.Main.main(Main.java:17)

Hat jemand einen Verbesserungsvorschlag für mich, stehe nun ziemlich auf der Leitung.
 

Kruemel

Mitglied
Du könntest prüfen wieviele Elemente drin sind:

Java:
System.out.println("x1: " + x[0]); 

if(x.length>1)
    System.out.println("x2: " + x[1]);

Festzustellen ob es keine Lösung gibt wäre natürlich noch gut.
D.h. wenn es keine Lösung gibt könntest du tatsächlich ein Array ohne Elemente zurückgeben:

Java:
return new double[0];

und dann:

Java:
if(x.length==0){
    System.out.println("Keine Lösung");
}

Gruß, Kruemel
 

boesl

Mitglied
also statt

Java:
// wenn x < 0 -> keine reelle Loesung
         if (x < 0) {
             double[] z = new double[2];
             return z;

das hier:

Java:
// wenn x < 0 -> keine reelle Loesung
         if (x < 0) {
             return new double[0];
...

und die if-Abfrage in die main packen?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R quadratische Gleichung Java Basics - Anfänger-Themen 23
M Quadratische Gleichung Java Basics - Anfänger-Themen 6
S Quadratische Gleichung Java Basics - Anfänger-Themen 5
V Quadratische Gleichung Java Basics - Anfänger-Themen 20
O Quadratische Gleichung Problem?! Java Basics - Anfänger-Themen 7
G Frage wegen Quadratische Gleichung Java Basics - Anfänger-Themen 9
G quadratische Gleichung lösen Java Basics - Anfänger-Themen 2
N Quadratische Matrix inkl Summe Java Basics - Anfänger-Themen 8
T Koordinatensystem zeichnen - Variablen merken? Quadratische Funktion zeichnen? Java Basics - Anfänger-Themen 5
K Quadratische Matrix um 90° drehen Java Basics - Anfänger-Themen 5
F Quadratische Gleichungen Java Basics - Anfänger-Themen 6
Screen Kurvendiskussion Quadratische Gleichungen Java Basics - Anfänger-Themen 15
K Datentypen Quadratische Spirale Java Basics - Anfänger-Themen 6
J HILFE! Quadratische funktion programmieren Java Basics - Anfänger-Themen 3
S Quadratische Funktion mit Java primitiv zeichnen. Java Basics - Anfänger-Themen 6
H Quadratische Matrix Java Basics - Anfänger-Themen 8
C Gleichung String Split Java Basics - Anfänger-Themen 6
S Eingabe in einer Gleichung. Java Basics - Anfänger-Themen 14
S Lineare Gleichung lösen Java Basics - Anfänger-Themen 1
C Gleichung mit Potenz mit einer Unbekannten lösen Java Basics - Anfänger-Themen 5
B lineare Gleichung programmieren Java Basics - Anfänger-Themen 2
H Gleichung parsen Java Basics - Anfänger-Themen 10
calzone Problem einer Gleichung mit Modulo Java Basics - Anfänger-Themen 5
F Problem mit quadratischer Gleichung Java Basics - Anfänger-Themen 4
K Lösen einer Gleichung Java Basics - Anfänger-Themen 12
G Zahlen aus Gleichung Java Basics - Anfänger-Themen 4
B Gleichung auslesen und dann damit Rechnen? Java Basics - Anfänger-Themen 4
I gleichung lösen Java Basics - Anfänger-Themen 4
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
richis-fragen Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
XWing Java Klssenproblem Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
G Java 8 - Support-Ende Java Basics - Anfänger-Themen 7
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
N Will mit Java anfangen Java Basics - Anfänger-Themen 13
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
M Java Mail Programm Java Basics - Anfänger-Themen 4
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
JaZuDemNo Java im Studium Java Basics - Anfänger-Themen 7
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
V Java-Ausnahmebehandlung: Behandlung geprüfter Ausnahmen Java Basics - Anfänger-Themen 1
krgewb Java Streams Java Basics - Anfänger-Themen 10
A Überwältigt von der komplexen Java Welt Java Basics - Anfänger-Themen 29
O Mehrfachvererbung auf Spezifikations- und Implementierungsebene in Java. Interfaces Java Basics - Anfänger-Themen 19
John_Sace Homogene Realisierung von Generics in Java ? Java Basics - Anfänger-Themen 19
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
R mit Java API arbeiten Java Basics - Anfänger-Themen 9
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
S Video Editierung mit Java.._ Java Basics - Anfänger-Themen 2
F Einstelungen in Java - CursorBlinkRate Java Basics - Anfänger-Themen 10
A PHP $_POST["name"] in Java Java Basics - Anfänger-Themen 3
vivansai21 Is there a oneliner to create a SortedSet filled with one or multiple elements in Java? Java Basics - Anfänger-Themen 9
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
Arjunreddy Can someone please tell me how to use a debugger in BlueJ(a Java environment) Java Basics - Anfänger-Themen 1
M Java assoziationen (UML) Java Basics - Anfänger-Themen 8
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
xXGrowGuruXx Java einstieg, leichte sache 0 verstanden Java Basics - Anfänger-Themen 7
A java.sql.SQLException: Data type mismatch. Java Basics - Anfänger-Themen 1
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
A Lerngruppe Java Java Basics - Anfänger-Themen 2
G Help me in the Java Program Java Basics - Anfänger-Themen 2
L Java- Vererbung Java Basics - Anfänger-Themen 4
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
_so_far_away_ Ich möchte Java lernen Java Basics - Anfänger-Themen 11
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
MoxMorris this Keyword in Java Java Basics - Anfänger-Themen 14
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
wolei JAVA Zeitdifferenz feststellen. Java Basics - Anfänger-Themen 4
DiyarcanZeren Rekursion in Java Java Basics - Anfänger-Themen 5
wolei Java generic interface in a generic class Java Basics - Anfänger-Themen 6
monsterherz Ablauf der Erstellung eines Java Programmes Java Basics - Anfänger-Themen 17
monsterherz Circle.java:5: error: <identifier> expected Java Basics - Anfänger-Themen 2
julian-fr Wie kann ich am besten Java lernen? Java Basics - Anfänger-Themen 17
A Java-Properties und -RessourceBundles Java Basics - Anfänger-Themen 5
lrnz22 Java-Basics-Aufgabe Java Basics - Anfänger-Themen 8
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
G In ein java Dokument Ton einbinden Java Basics - Anfänger-Themen 1
C was heisst es wenn java ']' erwartet ? Java Basics - Anfänger-Themen 2
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14

Ähnliche Java Themen

Neue Themen


Oben