Hallo alle zusammen,
ich habe vor ca 8 Wochen meine schulische IT Ausbildung begonnen und behandle derzeit im Fach Programmieren Java. Da der Lehrer den Unterrichtsstoff meines Erachtens nach viel zu langsam durchkaut, habe ich mich selbst etwas schlau gemacht und schon die eine oder andere Konsolenanwendung geschrieben.
Zurzeit arbeite ich an einer Klasse, die Methoden enthält, über die sich einige Dinge leichter realisieren lassen.
Hier habt ihr mal einen Auszug der Klasse mit der Methode, um die es mir jetzt geht:
Hier ein Beispiel, wie die Methode verwendet wird
So nun zu meinem Problem. Wie ihr sicherlich bemerkt habt, handelt es sich hierbei um eine Methode zur Berechnung einer quadratischen Gleichung der Form x² + px + q mit Hilfe der PQ Formel.
Wenn der Fall eintritt, dass unter der Wurzel eine Zahl > 0 steht, dann haben wir 2 Ergebnisse (x1 und x2)
Wenn der Fall eintritt, dass unter der Wurzel eine 0 steht, kommt nur ein Ergebnis raus und zwar x1 = - p/2
und hier ist das erste Problem. Ich übergebe die Werte x1 und x2 mit Hilfe eines Arrays. Wenn ich jedoch nur ein ergebnis habe möchte ich dass nur x1 übergeben wird oder alternativ x2 entweder einen String beinhaltet oder als NULL Wert übergeben wird.
Wenn der Fall eintritt, dass unter der Wurzel eine Zahl < 0 steht, bekommen wir kein Ergebnis da man von einem negativen Wert keine Wurzel ziehen kann(Not a Number).
In diesem Fall möchte ich entweder dass ebenfalls ein NULL Wert für x1 und x2 übergeben wird oder halt ein String.
Im allgemeinen kann ich mir nicht vorstellen wie ich einen String übermitteln soll denn wenn die Rechnung aufgeht wird 2 mal ein Wert des Datentyps Double an einen Zwischenspeicher des Typs Double übergeben, wie dieser dann jedoch einen String aufnehmen kann ist mir ein Rätsel(#Wahrscheinlich gehts auch gar nicht)
Ich hoffe, dass ich mein Problem verständlich formuliert habe und freue mich über Antworten
Liebe Grüße
PaP
ich habe vor ca 8 Wochen meine schulische IT Ausbildung begonnen und behandle derzeit im Fach Programmieren Java. Da der Lehrer den Unterrichtsstoff meines Erachtens nach viel zu langsam durchkaut, habe ich mich selbst etwas schlau gemacht und schon die eine oder andere Konsolenanwendung geschrieben.
Zurzeit arbeite ich an einer Klasse, die Methoden enthält, über die sich einige Dinge leichter realisieren lassen.
Hier habt ihr mal einen Auszug der Klasse mit der Methode, um die es mir jetzt geht:
Java:
import java.util.*;
public class PatMath
{
static double[] PQ(double p, double q)
{
double ze1, ze2;
double[] x = new double[3];
ze1 = (p/2) * (p/2) - q;
if(ze1 > 0)
{
ze2 = Math.sqrt((p/2) * (p/2) - q);
x[1] = -p / 2 + ze2;
x[2] = -p / 2 - ze2;
}
else if(ze1 == 0)
{
x[1] = -p / 2;
}
else if(ze1 < 0)
{
}
return x;
}
Hier ein Beispiel, wie die Methode verwendet wird
Java:
Scanner input = new Scanner(System.in);
double p,q;
System.out.print("Geben sie P ein: ");
p = input.nextDouble();
System.out.print("Geben sie Q ein: ");
q = input.nextDouble();
//Hier wird die PatMath.PQ Methode verwendet.
double x[] = PatMath.PQ(p, q); //Wir übergeben die Werte p und q an die Methode und schreiben das Ergebnis in den Array x[].
//Erstes Ergebnis ist x[1] zweites ist x[2]
System.out.println(x[1]);
System.out.println(x[2]);
So nun zu meinem Problem. Wie ihr sicherlich bemerkt habt, handelt es sich hierbei um eine Methode zur Berechnung einer quadratischen Gleichung der Form x² + px + q mit Hilfe der PQ Formel.
Wenn der Fall eintritt, dass unter der Wurzel eine Zahl > 0 steht, dann haben wir 2 Ergebnisse (x1 und x2)
Wenn der Fall eintritt, dass unter der Wurzel eine 0 steht, kommt nur ein Ergebnis raus und zwar x1 = - p/2
und hier ist das erste Problem. Ich übergebe die Werte x1 und x2 mit Hilfe eines Arrays. Wenn ich jedoch nur ein ergebnis habe möchte ich dass nur x1 übergeben wird oder alternativ x2 entweder einen String beinhaltet oder als NULL Wert übergeben wird.
Wenn der Fall eintritt, dass unter der Wurzel eine Zahl < 0 steht, bekommen wir kein Ergebnis da man von einem negativen Wert keine Wurzel ziehen kann(Not a Number).
In diesem Fall möchte ich entweder dass ebenfalls ein NULL Wert für x1 und x2 übergeben wird oder halt ein String.
Im allgemeinen kann ich mir nicht vorstellen wie ich einen String übermitteln soll denn wenn die Rechnung aufgeht wird 2 mal ein Wert des Datentyps Double an einen Zwischenspeicher des Typs Double übergeben, wie dieser dann jedoch einen String aufnehmen kann ist mir ein Rätsel(#Wahrscheinlich gehts auch gar nicht)
Ich hoffe, dass ich mein Problem verständlich formuliert habe und freue mich über Antworten
Liebe Grüße
PaP