Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo,
kann mir Jemand sagen warum von der Variable kontostand nichts abgezogen wird
wenn ich die Methode Kontostand.setKontostand() aufrufe oder der alte Kontostand
beim aufrufen von Kontostand.getKontostand() angezeigt wird?
CODE
Java:
package com.########.###########;
public class Kontostand {
private static int kontostand = 100;
public static void setKontostand(int euro) {
kontostand = kontostand + euro;
}
public static int getKontostand() {
return(kontostand);
}
}
Danke im Vorraus! Bin gerade echt am verzweifeln... Alle Probleme hab ich selber
lösen können, aber dann warscheinlich nur so eine Kleinigkeit
Ich bin mir nicht genau sicher was du da machst. Aber hast du dich schonmal damit auseinander gesetzt was static bedeutet? Hast du die zweite Klasse selbst geschrieben? Wenn ja: Wo wird das Objekt "Kontostand" erzeugt? Die Geldautomat-Klasse lässt ein Objekt Namens "Kontostand" auf sich eine Methode anwenden namens setKontostand zum Beispiel. Das heißt dass du einen Konstruktor in der Geldautomat-Klasse aufrufen musst, der sich in der Kontostand-Klasse befindet. Wenn du das gemacht hast, musst du das static noch weg lassen denn static heißt so viel wie: Variablen und Methoden die nicht bei einer Objektkonstruktion zum Objekt gehören, sondern nur einmal pro Klasse existieren.
Ich bin mir nicht genau sicher was du da machst. Aber hast du dich schonmal damit auseinander gesetzt was static bedeutet? Hast du die zweite Klasse selbst geschrieben? Wenn ja: Wo wird das Objekt "Kontostand" erzeugt? Die Geldautomat-Klasse lässt ein Objekt Namens "Kontostand" auf sich eine Methode anwenden namens setKontostand zum Beispiel. Das heißt dass du einen Konstruktor in der Geldautomat-Klasse aufrufen musst, der sich in der Kontostand-Klasse befindet. Wenn du das gemacht hast, musst du das static noch weg lassen denn static heißt so viel wie: Variablen und Methoden die nicht bei einer Objektkonstruktion zum Objekt gehören, sondern nur einmal pro Klasse existieren.
D.h ich soll die set und get Methoden in einen Konstruktor verschieben?? und in der Superclass ein Objekt aus Konto erzeugen??
Und wo soll ich das static weg machen? Hab' ja viele??? :L
Nein. Du sollst dir für deine Kontostand-Klasse überhaupt erstmal einen Konstruktor definieren, der es dir erlaubt, den Kontostand festzulegen. Übrigens finde ich die Methode "getKontostand" in der Klasse "Kontostand" komisch. Vorschlag: nenne deine Klasse "Konto" und gebe der eine Methode "getGuthaben" oder so.
Und du sollst nicht in der Superclass eine Instanz von Konto erzeugen, sondern in der Klassem die die public static void main(String[] args) methode enthält. Das ist KEINE Superclass!
Praktisch überall, nur nicht bei der public static void main(String [] args).
Der Sinn der Aurufe von
Code:
new GUI("ende");
usw. in der actionPerformed()-Methode erschliesst sich mir auch nicht. Was soll das? Was für eine Klasse ist "Gui" überhaupt? Wahrscheinlich erweitert sie JFrame, wer weiss das schon. Kurioserweise greifst du in der actionperformed() auch auf statische Variablen der Gui-Klasse zu. Alles in allem ein ziemliches Durcheinander! :noe:
Zurück zu deiner eigentlichen Frage bzgl. des nicht veränderten Kontostands: Werden nur die Werte nicht geändert, oder bekommst du noch nicht einmal eine Ausgabe auf der Konsole? Ich tippe mal auf letzteres und vermute, daß du auf den ganzen Objekten
Code:
GUI.f
,
Code:
GUI.zh
etc. (ich vermute es handelt sich dabei um JButtons) keinen ActionListener registriert hast.