Zum Inhalt springen

BlueJ - Cannot find symbol


luxxu

Empfohlene Beiträge

Guten Tag,

ich habe mir einen Skript raus gesucht, um meinen eigenen etwas zu verbessern. Allerdings habe ich nun ein Problem mit den Objekten.

Code:

import sum.kern.*;

/**

 * @author Philip WOLtersdorf

 * @version 1.0

 */

public class HP

{

	// Objekte


	Bildschirm   	derBildschirm;

	Tastatur     	dieTastatur;

	Maus         	dieMaus;

	Stift        	hatStift; 

	Knopf        	Knopf;

	Knopf        	Knopf2;


	Figur        	dummy;

	Lokomotive   	dieLok;

	PersonenWaggon   derPer;

	OelWaggon    	derOel;

	HolzWaggon   	derHol;


	// Konstruktor

	public HP()

	{

    	derBildschirm = new Bildschirm(333,333);

    	dieTastatur = new Tastatur();

    	dieMaus = new Maus();

    	hatStift = new Stift();

    	Knopf = new Knopf(derBildschirm.breite()/3-25   ,derBildschirm.hoehe()-50,25,50,dieMaus,'E');

    	Knopf2 = new Knopf(derBildschirm.breite()/3*2-25,derBildschirm.hoehe()-50,25,50,dieMaus,'S');


    	dieLok = new Lokomotive(derBildschirm.breite()/4,derBildschirm.hoehe()/2,dieMaus);


    	derPer = new PersonenWaggon(derBildschirm.breite()/3-50,derBildschirm.hoehe()/8,dieMaus);

    	derOel = new OelWaggon(derBildschirm.breite()/3*2-50,derBildschirm.hoehe()/8,dieMaus);

    	derHol = new HolzWaggon(derBildschirm.breite()/3*3-50,derBildschirm.hoehe()/8,dieMaus);

    	dieLok.zeichneDich();

    	dummy = dieLok;

	}


	// Dienste

	public void fuehreAus()

	{

    	// Aktionsteil

    	hatStift.bewegeBis(0,derBildschirm.hoehe()/4);

    	hatStift.runter();

    	hatStift.bewegeBis(derBildschirm.breite(),derBildschirm.hoehe()/4);

    	hatStift.hoch();


    	hatStift.bewegeBis(0,derBildschirm.hoehe()/4+10);

    	hatStift.runter();

    	hatStift.bewegeBis(derBildschirm.breite(),derBildschirm.hoehe()/4+10);

    	hatStift.hoch();


    	hatStift.bewegeBis(0,(derBildschirm.hoehe()/4)*3);

    	hatStift.runter();

    	hatStift.bewegeBis(derBildschirm.breite(),(derBildschirm.hoehe()/4)*3);

    	hatStift.hoch();


    	hatStift.bewegeBis(0,((derBildschirm.hoehe()/4)*3)-10);

    	hatStift.runter();

    	hatStift.bewegeBis(derBildschirm.breite(),((derBildschirm.hoehe()/4)*3)-10);

    	hatStift.hoch();

    	do

    	{

        	if(dieMaus.doppelKlick())

        	{

            	if(derPer.getroffen())

            	{   

                	dummy = dieLok;

                	while (dummy.nenneNachfolger() != null)

                	{

                    	dummy = dummy.nenneNachfolger();

                	}

                	dummy.kuppelAn(new PersonenWaggon(0,0,dieMaus));

                	do

                	{

                    	dieLok.bewegeDich(-1);   	

                	}while (dummy.nennehPosition() > derBildschirm.breite()/2);

            	} 	


            	if(derOel.getroffen())

            	{

                	dummy = dieLok;

                	while (dummy.nenneNachfolger() != null)

                	{

                    	dummy = dummy.nenneNachfolger();

                	}

                	dummy.kuppelAn(new OelWaggon(0,0,dieMaus));

                	do

                	{

                    	dieLok.bewegeDich(-1);   	

                	}while (dummy.nennehPosition() > derBildschirm.breite()/2);

            	}


            	if(derHol.getroffen())

            	{

                	dummy = dieLok;

                	while (dummy.nenneNachfolger() != null)

                	{

                    	dummy = dummy.nenneNachfolger();

                	}  

                	dummy.kuppelAn(new HolzWaggon(0,0,dieMaus));

                	do

                	{

                    	dieLok.bewegeDich(-1);   	

                	}while (dummy.nennehPosition() > derBildschirm.breite()/2);

            	}


            	if(Knopf.getroffen())

            	{

                	Knopf.aktiviere();

                	dummy = dieLok;

                	if(dieLok.nenneNachfolger() != null)

                	{

                    	while (dummy.nenneNachfolger().nenneNachfolger() != null)

                    	{

                        	dummy = dummy.nenneNachfolger();

                    	}

                    	dummy.entferneNachfolger();

                    	do

                    	{

                        	dummy = dieLok;

                    	while (dummy.nenneNachfolger() != null)

                    	{

                        	dummy = dummy.nenneNachfolger();

                    	}

                    	dieLok.bewegeDich(+1);

                    	}while (dummy.nennehPosition() < derBildschirm.breite()/2);

                	}

                	Knopf.deaktiviere();

            	}


            	if(Knopf2.getroffen())

            	{

                	Knopf2.aktiviere();

                	do

                	{

                    	dieLok.bewegeDich(+5);

                	}while (dieLok.nennehPosition() < derBildschirm.breite()/2);

                	do

                	{

                    	dieLok.bewegeDich(-1);   

                	}while (dummy.nennehPosition()+dummy.nenneLaenge()+1 > 0);

                	Knopf2.deaktiviere();

            	}

        	}


	}while (dummy.nennehPosition()+dummy.nenneLaenge()+1 > 0);


    	// Aufraeumen

    	dieTastatur.gibFrei();

    	derBildschirm.gibFrei();

    	dieMaus.gibFrei();

    	hatStift.gibFrei();

    	Knopf.gibFrei();

    	Knopf2.gibFrei();


    	derPer.gibFrei();

    	derOel.gibFrei();

    	derHol.gibFrei();

    	dieLok.gibFrei();

	}

}

Folgender Fehler kommt:

Cannot find symbol - class Knopf

Wo liegt der Fehler?

MfG

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das Classpath der Klassenpfad ist ist mir schon klar, danke aber für das dumm halten.

Wir haben nichts anderes mit den Klassen im Unterricht gemacht.

Nur mit dem Stift zum beispiel.

Stift hatStift;

und dann erkennt er den Stift an. Und so müsste es doch mit dem Knopf doch auch gehen, eigentlich...

Link zu diesem Kommentar
Auf anderen Seiten teilen

und dann erkennt er den Stift an. Und so müsste es doch mit dem Knopf doch auch gehen, eigentlich...

Den Quellcode den Du postest benutzt keine standardisierten Klassen / Pakete, somit ist das alles irgendwie individuell entwickelt. Und wenn Du weisst wofür der Classpath gedacht ist, was hätte es Dich daran gehindert nach zu schauen, ob die von Dir verwendeten Klassen vorhanden sind

Link zu diesem Kommentar
Auf anderen Seiten teilen

Knopf ist wie HP eine Klasse, die nicht zum Umfang der mit Java ausgelieferten Klassen gehört. Inhaltlich gehört sie wohl in das gleiche Paket wie Bildschirm, Tastatur, Maus und Stift.

Damit sind es wahrscheinlich Klassen die durch deinen Lehrer(?) bereitgestellt werden bzw. von der Person, die den Quellcode "bereitgestellt" hat.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Leider nein, sonst würde meine Frage ja nicht bestehen.

Wir haben die Klasse "Figur" (Abstract) bekommen und das "Grundgerüst" vom HP.

Sprich public void fuehreAus()

etc.

Den inhalt müssen wir mit einigen Tipps selbst erstellen. Genau deshalb komme ich nicht weiter. Die Wagen habe ich bereits alle fertig, das einzige was gerade noch am scheitern ist ist das HP.

mfg

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...