nullstellenberechnung probleme mit if else...

lennero

Bekanntes Mitglied
hi. ich hab ein programm geschrieben mit dem nullstellen von quadratischen funktionen berechnet werden(x^2+px+q) bekomme aber am ende den fehler else without if ... und illegal start of expression in zeile 25.

d ist hier die determinante.

Java:
import javax.swing.JOptionPane;

class nullstelle{
    public static void main(String[]args){
  
        String z1,z2,ausgabe;
        int p,q;
      
        z1=JOptionPane.showInputDialog("Geben sie eine Zahl ein");
        z2=JOptionPane.showInputDialog("Geben sie eine weitere Zahll ein");
      
        p=Integer.parseInt(z1);
        q=Integer.parseInt(z2);
      
        double d,x1,x2;
        d=p*p/4-q;
        x1=0;
        x2=0;
      
        if(d>0){
            x1=(-p/2)+Math.sqrt(d);
            x2=(-p/2)-Math.sqrt(d);
        }
        else if (d==0){
            x1=-p/2+;
            x2=-p/2;
        }
      
        ausgabe="";
        else
            ausgabe="Die Funktion besitzt keine reelen Nullstellen.";
          
      
  
        JOptionPane.showMessageDialog(null,"Die Funktion hat Nullstellen bei x1= "+x1+" und x2= "+x2+".");
      
    }
}
 

Saheeda

Top Contributor
ausgabe=""; steht zwischen den beiden else-Befehlen. Der Compiler nimmt an, dass der erste Block zu ende ist und erwartet für das zweite else ein neues if. Er weiß nicht, wo "ausgabe = "";" hingehören soll.

Als so:

Java:
if(d>0){
            x1=(-p/2)+Math.sqrt(d);
            x2=(-p/2)-Math.sqrt(d);
       }
       elseif(d==0){
            x1=-p/2+;
            x2=-p/2;
           ausgabe="";
       } else {
            ausgabe="Die Funktion besitzt keine reelen Nullstellen.";
       }
 
Zuletzt bearbeitet von einem Moderator:

lennero

Bekanntes Mitglied
vielen dank. jetzt spuckt er wenigstens werte aus.
edit : hat vorher nur int werte ausgegeben da ich p und q als int werte hatte. habs in double geändert und bekomme nun die richtigen ergebnisse
 
Zuletzt bearbeitet:

Neue Themen


Oben