Frage von Paula1802, 39

Wieso kann ich hier keine Variable benutzen?

Folgendes Programm habe ich geschrieben:

if(Greenfoot.mouseClicked(button1)){
            int punkte = 2;           
            System.out.print(punkte);
    }

Wenn ich den Code jetzt abändere und zwar nur anstatt button1 nun eine String-Variable benutze, funktioniert das Programm nicht mehr

String a = "button1";

if(Greenfoot.mouseClicked(a)){
            int punkte = 2;           
            System.out.print(punkte);
    }

Aber wieso? Es kommt auch kein Compile-Fehler.

Es passiert einfach nichts wenn ich das Objekt button1 mit der Maus anklicke;

Antwort
von Neubii, 35

Vielleicht weil mouse.Clicked() keine String referenz braucht sondern eine Form referenz? Ist das C oder C++?

Kommentar von Paula1802 ,

Ich programmiere mit Greenfoot also mit Java.

Kommentar von Neubii ,

Kenn mir nur mit .NET und C# aus. Aber Ich bin mir ziemlich sicher dass diese  Funktion keinen String behandeln kann, da es ja nur ein Wort ist für das Programm. Wenn du ihm nun sagst button1 als Objekt dann weiß er, er muss auf den Klick des Objektes achten

Kommentar von Paula1802 ,

ah Danke.

habe den Datentyp jetzt geändert und es funktioniert

Antwort
von LeonardM, 18

Du kannst doch einen string nicht als objekt bzw klasse behandeln.. es hat doch garnicht die richtigen member.. es ist als würdest du sagen Fenster ist dein ziel. du willsr das fenster öffnen. richtig:

Fenster.open();

Du sagst aber:

"Fenster".open();

Verstehst du was wir dir sagen wollen? Ich persönlich kenne mich mit java nicht aus aber das prinzip sollte ja gleich sein :)

Keine passende Antwort gefunden?

Fragen Sie die Community