Well so ziemlich jede Zeile ab Zeile 7 deines Programms mehrere Syntaxfehler hat. Du solltest dir zu allererst einmal ein Grundlagenbuch zu Java holen und das durcharbeiten. Grundlagen wie "was ist eine Variable?", "wie deklariere ich eine Variable?", "wie deklariere ich eine Methode?", "was ist eine Instanzmethode?", etc.
Das Problem ist, dass es sehr schnell in eine Erläuterung aller Grundlagen ausartet. Und das sprengt das Forum nun einmal.
Ein Problem ist, dass Methoden direkt in der Klasse sein müssen und nicht innerhalb anderer Methoden.
Du hast eine Klasse main (Tipp: Namensgebung in Java besagt, dass Klassen mit einem großen Buchstaben anfangen sollten). In der kommt dann die Methode main - das ist ok.
Du erzeugst zwei Instanzen von Zauberstab - auch noch ok.
Dann der Zugriff auf die Instanzvariable - mit dem int davor wäre es eine Deklaration einer lokalen Variable - dann dürfte der Bezeichner aber keinen . enthalten. Aber Du willst ja offensichtlich nur auf die Instanzvariable zugreifen: Da muss dann das int davor weg.
(Tipp: Instanzvariablen werden am Anfang klein geschrieben in Java, Zugriff auf instanzvariablen in anderen Klassen wenn möglich nur per Setter!)
Dann kommt die Methode Stärke - aber da ist die Methode main noch nicht beendet. (Tipp: Methoden fangen klein an, enthalten ein Verb und besagen, was da passiert. Ein Substantiv ist nicht gut!)
In Stärke dann noch eine weitere Methode - das geht natürlich ebenso wenig ...
Und dann stimmt am Ende auch die Anzahl der { nicht mit der Anzahl der } überein (Habe ich jetzt nicht gezählt, aber so auf den ersten Blick sieht es danach aus.)
publicclass main{// Kein "echter" Fehler, aber Klassennamen sollen mit einem Großbuchstaben beginnenpublicstaticvoidmain(String[] args){Zauberstab zauberstab1 =newZauberstab();Zauberstab zauberstab2 =newZauberstab();// durch das vorangestellte "int" teilst du dem Compiler mit, dass du eine NEUE int-Variable// erzeugen möchtest. Du möchtest aber auf eine Instanzvariable von Zauberstab zugreifen.int zauberstab1.ZauberstabStrength=8;// dgl. nur mit dem Variablentypen StringString zauberstab1.ZauberstabFarbe="Blau";// gleicher Fehler wie oben beschriebenint zauberstab2.ZauberstabStrength=5;String zauberstab2.ZauberstabFarbe="Gruen";// hier deklarierst du eine neue Methode "Staerke"// es gilt, dass Variablen- und Methodennamen mit einem Kleinbuchstaben beginnen sollen// du befindest dich allerding noch in der main()-Methode// und innerhalb einer Methode, können keine anderen Methoden deklariert werden.publicvoidStaerke(){// hier deklarierst du eine weitere neue Methode "getZauberstab1Strength"// wie oben, es können keine Methoden innerhalb von anderen Methoden deklariert werden.intgetzauberstab1Strength(){// das "this" würde sich in diesem Fall auf eine Instanz der Klasse Main beziehen,// die enthält allerdings keine Instanzvariablenreturnthis.zauberstab1Strength;}// Ende von "getZauberstab1Strength"}// Ende von "Starke"// hier fehlen noch die schließenden Klammern der main()-Methode und der Klasse// nach dem Ende der main()-Methode könnten weitere Methoden deklariert werden...
Ist ja nicht ganz sinnlos. Die beste Empfehlung ist es einen Java-Kurs (in welcher Form auch immer) von Beginn an sorgfältig durchzuarbeiten, um am Ende die Grundlagen drauf zu haben.