Cannot find symbol (symbol ist eine Variable)

Shiferino

Mitglied
Hallo Forum-Mitglieder,
das ist mein erster Eintrag, also falls ich mich in der falschen Kategorie befinde entschulde ich mich schonmal.
Ich muss für eine Praktikums-Aufgabe in der Uni Klassen für Figuren erstellen und diese dann zeichnen. Ich bekomme jedoch eine Fehlermeldung, zu der ich selbst nach langem googeln keine Lösung gefunden habe. Damit alles nachvollziehbar ist, poste ich hier meinen Quellcode und die jeweiligen Fehlermeldungen. Ich möchte bitte KEINE fertigen Lösungen, sondern nur einen Hinweis wo mein Fehler liegt, da ich probiere die Sprache zu lernen und nicht nur abzuschreiben :)

Quellcode:
Java:
import java.awt.*;
import java.math.*;
import java.awt.event.*;
public class Figur
{
    double getCircumference(){return 0;}
    double getArea(){return 0;}
    int getHeight(){return 0;}
    int getWidth(){return 0;}
    public void paint(Graphics g){};


    public void setHeight(int Height){
        this.Height = Height;
    }
    public int getHeight(int Height){
        return Height;
    }
    public void setWidth(int Width){
        this.Width = Width;
    }
    public int getWidth(int Width){
        return Width;
    }
    public class Rechteck extends Figur {
        int Height;
        int Width;

        public Rechteck(int Height, int Width){
            super(getHeight, getWidth);
            this.Height = Height;
            this.Width  = Width;
        }

        @Override
        public double getCircumference(){
            return(2*Height+2*Width);
        }

        @Override
        public double getArea(){
            return(Height*Width);
        }
    }

    public class Quadrat extends Figur {
        int Height;


        public Quadrat(int Height){
            super(getHeight, getWidth);
            this.Height = Height;
  
        }

        @Override
        public double getCircumference(){
            return(4*Height);
        }

        @Override
        public double getArea(){
            return(Height*Height);
        }
    }



    public class Kreis extends Figur {
        int durchmesser;
        public Kreis(int Height){
            super(getHeight, getWidth);
            this.Height = durchmesser;
        }
        @Override
        public double getCircumference(){
            return(durchmesser*Math.PI);
        }
        @Override
        public double getArea(){
            return(Math.PI * ((durchmesser/2)*(durchmesser/2)));
        }
    }
public static void main(String[] agrs) {

//  int Height = 5;
//  int Width  = 4;

}
}


Quellcode ende


Die Fehlermeldung sieht wie folgt aus:
Figur.java:16: error: cannot find symbol
this.Height = durchmesser;
symbol: variable Height

diesen Fehler kriege ich 9 mal, manchmal mit Height, manchmal Width und dann noch mehrfach getWidth und getHeight. Ich würde mich sehr freuen, wenn mir jemand weiterhelfen könnte. Danke schonmal im vorraus :)
 
Zuletzt bearbeitet:

mrBrown

Super-Moderator
Mitarbeiter
Naja, es gibt keine Variable Height in deiner Klasse Figur, sort kann sie also auch nicht gefunden werden...

Wenn Figur die braucht, musst du sie auch dort deklarieren
 

mrBrown

Super-Moderator
Mitarbeiter
Doch, das ändert was. Wie hast du es denn probiert?

BTW solltest du die anderen nicht als innere Klasse von Figur deklarieren, das macht dir nur Schwierigkeiten.
 

Shiferino

Mitglied
Also ich hatte es einfach mit int Height; und int Width; probiert und dann nochmal mit public int Height und Width da kamen die Fehlermeldungen leider immernoch. Mit nich als innere Klasse definieren meinst du ja wahrscheinlich, dass die geschweifte Klammer von der Klasse Figur direkt nach public void paint.. schließen sollte oder? Das könnte ich dann nämlich noch probieren...
 

Shiferino

Mitglied
Das habe ich grad mal gemacht und damit ist das Variablenproblem gelöst, jedoch kommt dann die Fehlermeldung: error: class, interface or enum expected
public void setHeight(int Height) mit einem Pfeil auf void oder auf die eckigen Klammern...
 

mrBrown

Super-Moderator
Mitarbeiter
Also ich hatte es einfach mit int Height; und int Width; probiert und dann nochmal mit public int Height und Width da kamen die Fehlermeldungen leider immernoch.
Zeig doch mal, wie du es probiert hast. Das was du beschreibst funktioniert.

Mit nich als innere Klasse definieren meinst du ja wahrscheinlich, dass die geschweifte Klammer von der Klasse Figur direkt nach public void paint.. schließen sollte oder? Das könnte ich dann nämlich noch probieren...

Die anderen Klassen sollten dann noch in eigene Dateien.


Das habe ich grad mal gemacht
*Was* hast du gemacht?
 

Shiferino

Mitglied
Okay sorry, hier der Quellcode:
Java:
import java.awt.*;
import java.math.*;
import java.awt.event.*;
public class Figur
{
    double getCircumference(){return 0;}
    double getArea(){return 0;}
    int getHeight(){return 0;}
    int getWidth(){return 0;}
    public int Height;
    public int Width;
    public void paint(Graphics g){};

}
    public void setHeight(int Height){
        this.Height = Height;
    }
  
    public int getHeight(int Height){
        return Height;
    }
 
    public void setWidth(int Width){
        this.Width = Width;
    }
  
    public int getWidth(int Width){
        return Width;
    }
   
  

  

    public class Rechteck extends Figur {
        int Height;
        int Width;

        public Rechteck(int Height, int Width){
            super(getHeight, getWidth);
            this.Height = Height;
            this.Width  = Width;
        }

        @Override
        public double getCircumference(){
            return(2*Height+2*Width);
        }

        @Override
        public double getArea(){
            return(Height*Width);
        }
    }

    public class Quadrat extends Figur {
        int Height;


        public Quadrat(int Height){
            super(getHeight, getWidth);
            this.Height = Height;
      
        }

        @Override
        public double getCircumference(){
            return(4*Height);
        }

        @Override
        public double getArea(){
            return(Height*Height);
        }
    }



    public class Kreis extends Figur {
        int durchmesser;
  
        public Kreis(int Height){
            super(getHeight, getWidth);
            this.Height = durchmesser;
        }
  
        @Override
        public double getCircumference(){
            return(durchmesser*Math.PI);
        }
  
        @Override
        public double getArea(){
            return(Math.PI * ((durchmesser/2)*(durchmesser/2)));
        }
    }



  

public static void main(String[] agrs) {

//  int Height = 5;
//  int Width  = 4;

}


Die Main-funktion müsste dann wahrscheinlich noch in die Klasse Figur, aber das bringt ja erstmal nicht die Fehler denke ich mal
 

mrBrown

Super-Moderator
Mitarbeiter
Einfach irgendwo eine geschlossene Klammer setzten ist selten sinnvoll.

Ich würde dir raten, nochmal ein paar Schritte zurück zu gehen und nur die Klasse Figur zu erstellen, und wenn die fertig ist und keine Fehler enthält der Rehe nach die anderen zu erstellen.
 

DefconDev

Bekanntes Mitglied
Ist dir bewusst wofür die Getter- und Setter-Methoden sind? Oder was modifier public bedeutet?

Ich würde es wie mrBrown schon empfohlen hat nur die Klasse Figur bearbeiten und die innere Klasse entfernen. Generell solltest du die innere Klasse auslagen als eigenständige.

Und als Randnotiz Bezeichner aus einem Wort für Variablen werden kleingeschrieben.

int width;
int height;
 

Shiferino

Mitglied
Ich habe die Klassen jetzt eigenständig gemacht und rufe die Subklassen in der Mainfunktion über ein Menü auf. Eure Tipps haben auf jeden Fall geholfen, danke dafür ! :)
 

Shiferino

Mitglied
Bin inzwischen zu Hause und kann daher keinen Quellcode mehr liefern, aber wenn ich mich richtig erinnere habe ich die Klassen Quadrat etc jetzt in extra Dateien gespeichert und diese dann über Quadrat quad = new Quadrat(Height); aufgerufen. Damit hat das ganze kompiliert und mir auch die richtigen Ergebnisse ausgegeben. Die Funktionen getHeight und getWidth habe ich zwar jetzt noch nicht so wirklich benutzt aber die werde ich morgen noch probieren zu implementieren. Ergebnisse kommen schonmal richtige raus und die Fehlermeldungen sind weg. Muss den Spaß jetzt nurnoch zum zeichnen bringen, aber dazu haben wir vom Prof ne recht annehmbare Vorgabe bekommen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Cannot find Symbol Java Basics - Anfänger-Themen 5
A Cannot find symbol mit Konstruktoren Java Basics - Anfänger-Themen 27
A Cannot find symbol bei exceptions Java Basics - Anfänger-Themen 2
L cannot find symbol variable Kon Java Basics - Anfänger-Themen 8
F Erste Schritte error: cannot find symbol Java Basics - Anfänger-Themen 5
R return: cannot find symbol Java Basics - Anfänger-Themen 2
L Bluej Error: Cannot find Symbol Java Basics - Anfänger-Themen 13
N Cannot find symbol Java Basics - Anfänger-Themen 18
P Cannot find symbol, wieso? Java Basics - Anfänger-Themen 5
M Erste Schritte cannot find symbol - Probleme mit Klassen Java Basics - Anfänger-Themen 6
J Error: cannot find symbol - variable Java Basics - Anfänger-Themen 3
F Erste Schritte parseint: cannot find symbol Java Basics - Anfänger-Themen 6
M Vererbung - Cannot Find Symbol constructor... Java Basics - Anfänger-Themen 11
D error: cannot find symbol Java Basics - Anfänger-Themen 3
B Frage zu Beispielprogramm: "error: cannot find symbol" Java Basics - Anfänger-Themen 2
BlueMountain Erste Schritte error: cannot find symbol Java Basics - Anfänger-Themen 2
L Error: Cannot find symbol Java Basics - Anfänger-Themen 1
P Cannot find Symbol Java Basics - Anfänger-Themen 3
L Cannot Find Symbol - Was soll denn das bedeuten?!? Java Basics - Anfänger-Themen 7
P StdIn.readDouble: cannot find symbol Java Basics - Anfänger-Themen 7
B Fehler "Cannot find symbol - variable number1" Java Basics - Anfänger-Themen 13
B Compiler-Fehler cannot find symbol Java Basics - Anfänger-Themen 6
K Cannot find symbol Java Basics - Anfänger-Themen 3
H cannot find symbol Java Basics - Anfänger-Themen 4
S cannot find symbol, symbol: constructor Java Basics - Anfänger-Themen 2
3 Compiler-Fehler Fehlerbehebung cannot find Symbol Java Basics - Anfänger-Themen 4
R Compiler-Fehler Cannot find symbol (Method printIn) Java Basics - Anfänger-Themen 3
B Polymorphie A obj = new B; "cannot find symbol app()" Java Basics - Anfänger-Themen 5
S wieso Fehlermeldung cannot find symbol hier Java Basics - Anfänger-Themen 10
T Cannot find Symbol(String) Java Basics - Anfänger-Themen 9
2 Compiler-Fehler cannot find symbol Java Basics - Anfänger-Themen 13
B Erste Schritte cannot find symbol - problem Java Basics - Anfänger-Themen 9
D Cannot find symbol variable Java Basics - Anfänger-Themen 9
A Compiler-Fehler Cannot find Symbol Java Basics - Anfänger-Themen 6
V Packages: Cannot find symbol Java Basics - Anfänger-Themen 12
J Cannot find Symbol Variable mit JPanels Java Basics - Anfänger-Themen 2
L Fehlermeldung: RealMirror.java cannot find symbol Java Basics - Anfänger-Themen 2
D Cannot Find Symbol Java Basics - Anfänger-Themen 6
M Compile Time Error - cannot find symbol (Objekt!) Java Basics - Anfänger-Themen 2
L Problem mit Vererbung (extends) cannot find symbol Java Basics - Anfänger-Themen 3
S Problem beim Kompilieren - cannot find symbol - constructor() Java Basics - Anfänger-Themen 12
N cannot find symbol URL Java Basics - Anfänger-Themen 2
S Problem mit Javaeditor: Cannot find Symbol Java Basics - Anfänger-Themen 13
P cannot find Symbol - WTF? Java Basics - Anfänger-Themen 4
StupidAttack cannot find symbol Java Basics - Anfänger-Themen 16
B Cannot find symbol-Fehler Java Basics - Anfänger-Themen 3
Luk10 Cannot find Symbol Daten Java Basics - Anfänger-Themen 10
E cannot find symbol??? Java Basics - Anfänger-Themen 8
B cannot find symbol Java Basics - Anfänger-Themen 11
N cannot find symbol Java Basics - Anfänger-Themen 11
T OOP cannot find symbol Java Basics - Anfänger-Themen 4
A cannot find symbol - symbol : method Java Basics - Anfänger-Themen 5
T cannot find symbol Java Basics - Anfänger-Themen 5
I Cannot find Symbol & NullPointerException Java Basics - Anfänger-Themen 8
A cannot find symbol. Java Basics - Anfänger-Themen 5
G cannot find symbol! Java Basics - Anfänger-Themen 22
K Ständige Fehlermeldung "Cannot find symbol" Java Basics - Anfänger-Themen 2
L cannot find symbol-method Java Basics - Anfänger-Themen 3
P Error: Cannot find Symbol Java Basics - Anfänger-Themen 4
J JOptionDialog "cannot find symbol" Java Basics - Anfänger-Themen 3
P JLayer 1.0 - cannot find symbol Java Basics - Anfänger-Themen 4
M cannot find symbol. Java Basics - Anfänger-Themen 7
T ChangeListener cannot find Symbol? Java Basics - Anfänger-Themen 2
D "identifier expected" und "cannot find symbol Java Basics - Anfänger-Themen 4
B cannot find symbol method equalsIgnoreCase? Java Basics - Anfänger-Themen 23
S Fehlermeldung cannot find symbol Java Basics - Anfänger-Themen 8
G Cannot find symbol, Suchfunktion benutzt Java Basics - Anfänger-Themen 3
A cannot find symbol :-( Java Basics - Anfänger-Themen 2
D Cannot find JUnit.framework Java Basics - Anfänger-Themen 1
G Collections.binarySearch(LinkedList): cannot find method Java Basics - Anfänger-Themen 6
R Cannot find a free socket for the debugger Java Basics - Anfänger-Themen 6
W Cannot find symbole variable Java Basics - Anfänger-Themen 4
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
W Cannot resolve symbol 'HttpServlet' Java Basics - Anfänger-Themen 2
I JSON - cannot deserialize from Object value Java Basics - Anfänger-Themen 16
J Scanner cannot be resolved to a type Java Basics - Anfänger-Themen 3
N Fehler "Cannot instantiate the type" Java Basics - Anfänger-Themen 3
jakobfritzz Array- cannot invoke "" because "" is null Java Basics - Anfänger-Themen 4
Flo :3 Variablen Type dismatch: cannot convert from string to int Java Basics - Anfänger-Themen 9
C system cannot be resolved Fehler in Eclipse Java Basics - Anfänger-Themen 18
V ClientProtocolException cannot be resolved Java Basics - Anfänger-Themen 6
J The import org.bukkit cannot be resolved Java Basics - Anfänger-Themen 3
J Fehlermeldung unklar. non-static variable player0 cannot be referenced from a static context Java Basics - Anfänger-Themen 4
P non-static variable cannot be referenced from a static context Java Basics - Anfänger-Themen 6
L constructor cannot be applied... Java Basics - Anfänger-Themen 22
M Cannot make a static reference to the non-static method Java Basics - Anfänger-Themen 10
P a cannot be resolved bei einer do while Schleife Java Basics - Anfänger-Themen 1
Aprendiendo Interpreter-Fehler "non-static variable this cannot be referenced from a static context" Java Basics - Anfänger-Themen 2
M Iterator cannot refer to a non final... Java Basics - Anfänger-Themen 20
T Error: int cannot be dereferenced Java Basics - Anfänger-Themen 10
J JLabel cannot be resolved Java Basics - Anfänger-Themen 8
H Variablen error: non-static variable cannot be referenced from a static context Java Basics - Anfänger-Themen 4
UnityFriday method getPrevious in class List<ContentType> cannot be applied to given types Java Basics - Anfänger-Themen 29
B OOP next cannot be resolved or is not a field Java Basics - Anfänger-Themen 6
B OOP Cannot instantiate the type AuDList<Integer> Java Basics - Anfänger-Themen 18
U Erste Schritte cannot be referenced from a static context Java Basics - Anfänger-Themen 1
D Java Eclipse cannot be cast to java.awt.event.ItemListener Java Basics - Anfänger-Themen 3
J Fehlermeldung : cannot invoke char(at) int on the primitive type int --- Anfänger Java Basics - Anfänger-Themen 5
M Erste Schritte [Variable] cannot be resolved to a variable Java Basics - Anfänger-Themen 4
M The Selection cannot be launched... Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben