nachdem ich nun schon 2 Tage erfolglos versuche ein Programm zum Laufen zu kriegen wende ich mich nun, in der Hoffnung auf einen Denkanstoß an dieses Forum.
Zuerst die "Vorgeschichte":
Wie haben in der Schule ein Java-Programm geschrieben, das nach dem Verfahren von Heron die Wurzel aus der eingegeben Zahl zieht (Anmerkung: in der Schule verwenden wir als Editor BlueJ). Erweiternd haben wir die Funktion eingebaut, dass bei der Eingabe einer negativen Zahl oder etwas anderem als einer Zahl (also Buchstaben o.ä.) eine Fehlermeldung ausgegeben wird. Der wichtigste Teil: bei Eingabe einer Zahl zwischen 0 und 1 wird eine extra Methode aufgerufen, die die Zahl erweitert, dann die Wurzel zieht und dann wieder kürzt.
Ich habe nun als Hausaufgabe aufbekommen, das ganze unter einer GUI zu verpacken. Das war dank NetBeans auch relativ einfach.
Auch das Programm an sich (also Zahl eingeben, Button klicken, Methode "wurzelHeron" aufrufen) läuft wunderbar.
Nun zum Problem:
wenn ich eine negative Zahl eingebe gibt die Methode "wurzelHeron" einfach dieselbe Zahl zurück. Also habe ich versucht eine Fallunterscheidung durchzuführen. Das klappt aber nicht. Ich habe es probiert indem ich mit der mehrmaligen Verwendung von if oder auch mit if/else die einzelnen Anweisungen auszuführen - ohne Erfolg.
Der fragliche Teil sieht momentan so aus:
Code: Alles auswählen
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
double in = ((Double.parseDouble(inField.getText())));
if(in>1.0)
{
ergLabel.setText("Ergebnis: " + Quadratwurzel6.wurzelHeron(in));
}
if(in<0.0)
{
ergLabel.setText("Ergebnis: n.d.");
}
Code: Alles auswählen
System.out.println("Bitte eine Dezimalzahl eingeben: ");
r = einlesen();
if(r == 0){System.out.println("Tschüs und die Wurzel aus 0 ist 0!");};
if(r == 1){System.out.println("Die Wurzel aus 1 ist 1");};
if(r < 0){System.out.println("Die Wurzel aus negativen Zahlen ist nicht definiert!");};
if((0 < r)&&(r<1)){System.out.println("Die Wurzel aus "+r+" ist "+kuerzen(wurzelHeron(erweitern(r))));};
if(1<r){System.out.println("Die Wurzel aus "+r+" ist "+wurzelHeron(r));};
Vielen Dank an jeden, der sich mein Geschreibsel bis hier durchgelesen hat und jetzt eventuell sogar noch Kraft hat zu antworten - ich bin über jeden Tip dankbar.
tux_94