Syntaxfehler

Endymion

Bekanntes Mitglied
Ich bekomme bei folgendem Quellcode beim Übersetzen die Fehlermeldung "class, interface or eum expected" dabei ist die geschweifte Klammer in der letzten Zeile des Quellcodes markiert. Was genau mache ich falsch?
Java:
public class MAMPFI
{
    // Attribute
    int positionX;
    int positionY;      
    boolean verwundbar;
    char blickrichtung;
    // Referenzattribute
    MAMPFISYMBOL symbol;
    LABYRINTH labyrinth;
    MAMPFI (LABYRINTH labyrinthNeu)
    {
        verwundbar = true;
        blickrichtung = 'N';
        positionX = 0;
        positionY = 0;
        symbol = new MAMPFISYMBOL();
        symbol.RadiusSetzen(25);
        symbol.StartWinkelSetzen(120);
        symbol.BogenWinkelSetzen(300);
        symbol.BogenArtSetzen(2);
        symbol.FuellFarbeSetzen("gelb");
        symbol.PositionXSetzen(0);
        symbol.PositionYSetzen(0);
        labyrinth = labyrinthNeu;
    }
    
    // Methoden
    void NachOstenBlicken ()
    {
        blickrichtung = 'O';
        symbol.StartWinkelSetzen(30);
    }
    void NachNordenBlicken ()
    {
        blickrichtung = 'N';
        symbol.StartWinkelSetzen(120);
    }
    void NachWestenBlicken ()
    {
        blickrichtung = 'W';
        symbol.StartWinkelSetzen(210);
    }
    void NachSüdenBlicken ()
    {
        blickrichtung = 'S';
        symbol.StartWinkelSetzen(300);
    }
    void VerwundbarSetzen(boolean verwundbarNeu)
    {
        verwundbar = verwundbarNeu;
        if (verwundbar == true)
        {
         symbol.FuellFarbeSetzen("gelb");
        }
        else
        {
            symbol.FuellFarbeSetzen("rot");
        }
    }
    void VerwundbarMachen ()
    {
        verwundbar = true;
        symbol.FuellFarbeSetzen("gelb");
    }
    void UnverwundbarMachen ()
    {
        verwundbar = false;
        symbol.FuellFarbeSetzen("rot");
    }
    void MundBewegtSichSetzen(boolean bewegtSichNeu)
    {
        symbol.MundBewegtSichSetzen(bewegtSichNeu);
    }
    void NachOstenBewegen()
    {
        if(symbol.positionX < labyrinth.BreiteGeben()-1)
        {
            if(labyrinth.IstMauerAufZelle(positionX+1, positionY) == false)
            {
                positionX = positionX+1;
                symbol.PositionXSetzen(positionX);
                NachOstenBlicken();
            }
        }
    }
    void NachSüdenBewegen ()
    {
        if(symbol.positionY < labyrinth.HoeheGeben()-1)
        {
            if(labyrinth.IstMauerAufZelle(positionX, positionY+1) == false)
            {
                positionY = positionY+1;
                symbol.PositionYSetzen(positionY);
                NachSüdenBlicken();
            }
        }
    }
    void NachWestenBewegen ()
    {
        if(symbol.positionX > 0)
        {
            if(labyrinth.IstMauerAufZelle(positionX-1, positionY) == false)
            {
                positionX = positionX-1;
                symbol.PositionXSetzen(positionX);
                NachWestenBlicken();
            }
        }
    }
    void NachNordenBewegen ()
    {
        if(symbol.positionY >0)
        {
            if(labyrinth.IstMauerAufZelle(positionX, positionY-1) == false)
            {
                positionY = positionY-1;
                symbol.PositionYSetzen(positionY);
                NachNordenBlicken();
            }
        }
    }
    void BlickrichtungSetzen(char blickrichtungNeu)
    {
        if (blickrichtungNeu == 'S')
        {
            NachSüdenBlicken();
        }
            else
            {
                if (blickrichtungNeu == 'W')
                {
                    NachWestenBlicken();
                }
                else
                {
                    if (blickrichtungNeu == 'N')
                    {
                        NachNordenBlicken();
                    }
                    else
                    {
                        if (blickrichtungNeu == 'O')
                        {
                            NachOstenBlicken();
                        }
                        else
                        {
                            System.out.printIn("Falsche Eingabe in der Methode VerwundbarSetzen!");
                        }
                    }
                }
            }
        }
    }
}
 

tfa

Top Contributor
Da ist wohl eine } zu viel. Deine Einrückungen sind ziemlich kaputt, da steigt keiner durch. Lass den Quelltext am besten von einer IDE formatieren, dann siehst du es.
EDIT: }, nicht {
 
Zuletzt bearbeitet:

Endymion

Bekanntes Mitglied
Ihr müsst ja auch die { ganz am Anfang der Klasse beachten, da ist keine } zu viel. Wenn ich außerdem eine } wegmache und auf Übersetzen klicke, hängt sich BlueJ auf.
 
B

bone2

Gast
wenn eclipse sagt das da eine klammer zuviel ist, ist da eine zuviel.

warum sich bluej ohne die klammer aufhängt ist ein anderes problem
 

Ähnliche Java Themen

Neue Themen


Oben