#1 6. September 2007 Anfängerprogramm Hiho Rushys, ich habe ein kleines Problem und das ist folgendes: Ich möchte aus einer Klasse etwas in der Konsole ausgeben hier z.B. für den Anfang 100. Leider kriege ich einen Fehler: Code: Compiliere I:\AE FOS\Aufgabe 1\MonopolySpieler.java mit Java-Compiler I:\AE FOS\Aufgabe 1\MonopolySpieler.java erfolgreich compiliert! Compiliere I:\AE FOS\Aufgabe 1\Monopoly.java mit Java-Compiler Monopoly.java:4:29: cannot find symbol symbol : method getKontostand() location: class Monopoly System.out.println(Spiel.getKontostand()); ^ 1 error Bin leider noch total neu und verzweifle, zwar sagte mir meine Lehrerin es sei sehr ähnlich wie Klassen in C++ aber dennoch ein Problem bei mir. :-( Hier der kleine Code: Klasse: Code: public class MonopolySpieler { // Anfang Variablen private int Kontostand; private String Name; private int zahl; // Ende Variablen // Anfang Ereignisprozeduren public MonopolySpieler(){ Kontostand=100; Name="Dennis"; } public int getKontostand(){ return zahl; } public void setKontostand(int i){ this.zahl=i; } // Ende Ereignisprozeduren } Ausgabe: Code: class Monopoly{ public static void main(String[] args){ Monopoly Spiel = new Monopoly(); System.out.println(Spiel.getKontostand()); } } Bewertung ist selbstverständlich sicher. + Multi-Zitat Zitieren
#2 6. September 2007 AW: Anfängerprogramm Moin klaiser, an der Klasse kontostand fällt mir auf, dass der Wert Zahl in der Methode getKontostand ohne Verweis auf die eigene Klasse aufgerufen wird. Code: return this.zahl; Ich glaube nicht, dass das der Fehler ist. Vielleicht kannst Du mal den ganzen Code posten, also den Teil in dem die Klasse instanziiert und die Methode aufgerufen wird (der Compiler meckert ja Zeile 29 an). //EDIT: Sorry hab nicht richtig hingeguckt. Dein Fehler ist, dass Du ein Objekt der Klasse Monopoly instanziierst Code: Monopoly Spiel = new Monopoly(); und dann versuchst, die Methode der Klasse MonopolySpieler aufzufrufen. Ohne Java wirklich zu können würd ich sagen probier's mal so: Code: MonopolySpieler spieler = new MonopolySpieler(); System.out.println(spieler.getKontostand); //EDIT: Da war K-Ni wohl genau so schnell... BG MaxDev + Multi-Zitat Zitieren
#3 6. September 2007 AW: Anfängerprogramm Moin Das Problem besteht darin, dass du versuchst eine Methode aufzurufen, die es in der Klassse gar nicht gibt. Guck dir den Code noch mal genau an: Die Methode gibt's in der Klasse "MonopolySpieler". Du versuchst sie aber bei einem Objekt der Klasse "Monopoly" aufzurufen! Zu diesem Zeitpunkt macht der Befehl sowieso keinen Sinn! Ich greif dir mal ein bisschen unter die Arme : Code: class Monopoly{ // Anfang Variablen private MonopolySpieler SpielerEins; //z.B. ein neuer Spieler // Ende Variablen // Anfang Ereignisprozeduren public Monopoly() //Konstruktor { SpielerEins = new MonopolySpieler(); System.out.println(spielerEins.getKontostand()); //Jetzt könnte man den Kontostand ausgeben } // Ende Ereignisprozeduren public static void main(String[] args) { Monopoly Spiel = new Monopoly(); } } + Multi-Zitat Zitieren
#4 6. September 2007 AW: Anfängerprogramm Ihr seid Spitze werde es gleich mal ausprobieren. Bewertung ist ecuh sicher. ;-) + Multi-Zitat Zitieren