Ich programmiere seit kurzer Zeit in Java. Doch nun habe ich bei einer Aufgabe ein Problem:
Ich habe ein Objekt Gefaess mit den Attributen Volumen und Füllhöhe erstellt und es soll die Methoden leeren und füllen jeweils mit und ohne Parameter geben. Nun will ich dafür jedoch einen Konstruktor verwenden und da entsteht mein Problem: Wenn man den Konstruktor in die main-Methode einbaut und dann fuellen ausführt, rutscht der immer in den else teil der if abfrage, obwohl er eigentlich den ersten Teil ausführen müsste.
Code
public class Gefaess {
private static int volumen;
private static int fuellstand;
public static void Gefaess(){
volumen = 1000;
fuellstand = 0;
}
public static void Gefaess(int wert){
volumen = wert;
fuellstand = 0;
}
public static void fuellen() {
fuellstand = volumen;
System.out.println("Der Füllstand beträgt " + fuellstand);
}
public static void leeren() {
fuellstand = 0;
System.out.println("Der Füllstand beträgt " + fuellstand);
}
public static void fuellen(int a) {
[COLOR=Red] if(volumen >= a){
fuellstand = fuellstand + a;
System.out.println("Der Füllstand beträgt " + fuellstand);
}
else {
System.out.println("Error füllen");
}[/COLOR]
}
public static void leeren(int b){
if(fuellstand >= b){
fuellstand = fuellstand - b;
System.out.println("Der Füllstand beträgt " + fuellstand);
} else {
System.out.println("Error leeren");
}
}
public static void main(String[] args) {
Gefaess dose = new Gefaess();
dose.fuellen(100);
}
}
Alles anzeigen
Ich hab den Fehler mal rot markiert. Der Attributwert für das volumen geht immer auf 0. Deswegen der Error. Hat einer eine Lösung dafür? Bräuchte die bis freitag. Wär nett wenn sich einer bemüht.
Danke schon im Vorraus.