Grundlegendes Problem mit Java

  • 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.



    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.

  • attributvariablen eines Objekts sollten nicht static sein

    edit: Konstruktoren und Funktionen eines Objekts auch nicht

    In a world without walls and fences , who needs windows and gates.:hewa:

  • achtung: bei dir ist alles statisch. statische methoden und felder gehören zur klasse selbst und sind unabhängig von den erzeugten objekten.
    das einzige, was bei dir statisch sein muss ist die main-methode.
    und der konstruktor darf keinen returnwert haben, du defninierst hier also eine methode mit dem namen des konstruktors und keinen konstruktor.
    außerdem: wenn schon was im gefäß ist, muss das auch berücksichtigt werden.
    also:

    "All through my life I've had this strange unaccountable feeling that something was going on in the world, something big, even sinister, and no one would tell me what it was."
    "No," said the old man, "that's just perfectly normal paranoia. Everyone in the Universe has that."

    😁😂😃😄😅😆😇😈😉😊😋😌😍😎😏😐😒😓😔😖😘😚😜😞😠😡😢😣😥😨😩😪😫😭😰😱😲😳😵😶😷

  • Nun will ich dafür jedoch einen Konstruktor verwenden...

    tust du aber nicht, das solltest du schon allein daran erkennen, dass ein Konstruktor so heisst wie die Klasse selbst, erzeugt ("instanziert") diese "Methode" doch ein Objekt eben dieser Klasse...

    Konstruktoren in der Klasse "Gefaess" können also nur so aussehen:

    public Gefaess( <Argumente> ) {
    ...
    }

    noch ein paar kleinigkeiten:

    1) verwende wenn möglich englische bezeichner für variablen und methoden
    2) nach Konvention verwendet man sogenannte setter/getter-Methoden um Objektattribute zu verändern

    ..wie/wo hast du programmieren gelernt, wenn ich fragen darf? vielleicht schaust du mal da vorbei:

    http://openbook.galileocomputing.de/javainsel8/javainsel_00_001.htm

    und ziehst dir kapitel 6 nochmal rein...

    "There's no such thing as Computer Science-it's witchcraft", math department of MIT, 1961

    You are all children of a worthless god!

    Einmal editiert, zuletzt von Blutsturz (3. März 2010 um 23:06)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!