Hallo, also ich sitzt da jetzt schon eine Woche dran, die Lösung muss bestimmt einfacher, doch ich kann sie einfach nicht sehen. ;(
Aber, ich gebe nicht auf! ich baue jetzt auf euere Tipps
folgendes. ich möchte eine Klasse Start haben. Dort lasse ich durch ein Fensteraufruf 3 Zahlen eingeben a,b,c. Das funktioniert auch. Dann möchte ich eine anderen Klasse aufrufen die aber in einem neuen Package liegt, die heißt Mathehelfer. Im MatheHelfer soll dann die Funtkion mit der Mitternachtsfomel ( sein
x1= (-b + Math.sqrt(Math.pow(b,2)-4*a*c)/ (2*a));
x2= (-b - Math.sqrt(Math.pow(b,2)-4*a*c) / (2*a));
davor soll die Funktion aber testen, ob die Diskriminante, also:
d = (Math.pow(b,2)-4*a*c)
1, 2 oder gar keine Nullstelle hat, denn wenn die Zahl eine negative ist, kann man ja keine Wurzel ziehen also keine Nullstelle. Wenn sie =0 ist dann gibt es eine Doppelnullstelle also nur x1, und wenn sie >0 ist, dann gibt es x1 und x2, also zwei Nullstellen.
Das Ergebnis soll dann natürlich zurück zur Startklasse und ausgegeben werden.
All das soll mit Funktionen, return und Arrays umgesetzt werden.
ich hab es geschafft es anders umzusetzen, doch das ist nicht die Vogabe, jetzt bastel ich schon Tage an dieser Version rum und komm net weiter.. ;( es ist echt zum Heulen.. ich muss irgendwo nen Denkfehler haben. ich poste mal das was ich bis jetzt hab.. kann durch das herumprobieren auch totaler müll sein. Am schwierigsten ist es mit dem Array??
Danke!
Teil 1:
Teil 2
Wie gesagt, ist alles ein wenig durcheinander.. ich hoffe ihr versteht mich
Hier nochmal das was funktioniert:
Aber, ich gebe nicht auf! ich baue jetzt auf euere Tipps
folgendes. ich möchte eine Klasse Start haben. Dort lasse ich durch ein Fensteraufruf 3 Zahlen eingeben a,b,c. Das funktioniert auch. Dann möchte ich eine anderen Klasse aufrufen die aber in einem neuen Package liegt, die heißt Mathehelfer. Im MatheHelfer soll dann die Funtkion mit der Mitternachtsfomel ( sein
x1= (-b + Math.sqrt(Math.pow(b,2)-4*a*c)/ (2*a));
x2= (-b - Math.sqrt(Math.pow(b,2)-4*a*c) / (2*a));
davor soll die Funktion aber testen, ob die Diskriminante, also:
d = (Math.pow(b,2)-4*a*c)
1, 2 oder gar keine Nullstelle hat, denn wenn die Zahl eine negative ist, kann man ja keine Wurzel ziehen also keine Nullstelle. Wenn sie =0 ist dann gibt es eine Doppelnullstelle also nur x1, und wenn sie >0 ist, dann gibt es x1 und x2, also zwei Nullstellen.
Das Ergebnis soll dann natürlich zurück zur Startklasse und ausgegeben werden.
All das soll mit Funktionen, return und Arrays umgesetzt werden.
ich hab es geschafft es anders umzusetzen, doch das ist nicht die Vogabe, jetzt bastel ich schon Tage an dieser Version rum und komm net weiter.. ;( es ist echt zum Heulen.. ich muss irgendwo nen Denkfehler haben. ich poste mal das was ich bis jetzt hab.. kann durch das herumprobieren auch totaler müll sein. Am schwierigsten ist es mit dem Array??
Danke!
Teil 1:
Java:
package aufgabe1;
import aufgabe2.MatheHelfer;
import unidue.ecg.java.ss2010.graphic.io.GraphicIO;
public class Start {
public static void main(String[] args) {
eingabe();
}
public static double a= 0;
public static double b= 0;
public static double c= 0;
public static void eingabe(){
// Eingabe der 3 Zahlen a,b und c
a = GraphicIO.readInt("Bitte geben Sie a ein");
b = GraphicIO.readInt("Bitte geben Sie b ein:");
c = GraphicIO.readInt("Bitte geben Sie c ein:");
MatheHelfer.diskriminante(MatheHelfer.m, MatheHelfer.f, MatheHelfer.g );
GraphicIO.print(MatheHelfer.diskriminante(MatheHelfer.m, MatheHelfer.f, MatheHelfer.g ));
}
}
Teil 2
Java:
package aufgabe2;
import aufgabe1.Start;
import unidue.ecg.java.ss2010.graphic.io.GraphicIO;
public class MatheHelfer {
public static double a= 0;
public static double b= 0;
public static double c= 0;
public static String m = " Die Funktion bestitzt 2 Nullstellen";
public static String f ="Die Funktion besitzt eine Doppelnullstelle";
public static String g ="Die Funktion besitzt keine Nullstelle ";
// variablen deklarieren
static double d = (Math.pow(b,2)-4*a*c);
public static double x1= (-b + Math.sqrt(Math.pow(b,2)-4*a*c)/ (2*a));
public static double x2= (-b - Math.sqrt(Math.pow(b,2)-4*a*c) / (2*a));
public static String diskriminante (String m, String f, String g){
if ( Math.signum(d) > 0) {
return (m);
}
if (Math.signum(d) == 0){
return (f);
}
return (g);
}
public static double mitternachtsformel(double x1){
return x1;
}
public static double mitternachtsformel2(double x2){
return x2;
}
}
Wie gesagt, ist alles ein wenig durcheinander.. ich hoffe ihr versteht mich
Hier nochmal das was funktioniert:
Java:
package aufgabe2;
// import der GraphicIO Klasse
hier ist der Import
public class blubi {
// main-Methode zum starten
public static void main(String[] args) {
mitternachtsformel();
}
// variablen deklarieren
static int a;
static int b;
static int c;
static double d;
public static double e;
static double x1;
static double x2;
public static void mitternachtsformel(){
// Eingabe der 3 Zahlen a,b und c
a = GraphicIO.readInt("Bitte geben Sie a ein");
b = GraphicIO.readInt("Bitte geben Sie b ein:");
c = GraphicIO.readInt("Bitte geben Sie c ein:");
d = Math.sqrt(Math.pow(b,2)-4*a*c); //d als Diskriminante rechnen für die folgende If-Anweisung
e = (Math.pow(b,2)-4*a*c);
//Mitternachtsformel-Rechnung
x1= (-b+ d)/ (2*a);
x2= (-b-d)/ (2*a);
// If Anweisung bezüglich der Diskriminante, mit Ausgabe des Ergebnises
if (Math.signum(e)== -1) {
GraphicIO.print("Keine Nullstellen vorhanden");
}
else if (Math.signum(d) == 0) {
GraphicIO.print("Doppelnullstelle! " + "Das Ergenbiss ist: x1 =" + x1);
}
else if (Math.signum(d) == +1){
GraphicIO.print("Zwei Nullstellen vorhanden " + "Das Ergenbiss ist: x1 =" + x1 + " x2=" + x2 );
}
}
}