Zum Inhalt springen

Waage mit BlueJ erstellen.


MaTo

Empfohlene Beiträge

Hallo liebe Mitglieder,

Und zwar hab ich folgende Aufgabe zu erledigen:

Digitale Waagen

Heutzutage gibt es digitale Körpergewicht-Waagen zum Schleuderpreis. Um in diesem Markt etwas Besonderes

bieten zu können, wollen wir eine Java-Klasse schreiben, deren Exemplare in einer modernen Waage zum Einsatz

kommen sollen und den Besitzer über seinen Fortschritt bei der Gewichtskontrolle informieren.

3.2.1 Legt ein neues Projekt Fitness an und darin eine neue Klasse Waage. Diese soll über einen Konstruktor

verfügen, der das aktuelle Körpergewicht der Person als Parameter mit dem Typ int entgegennimmt und

in einer Exemplarvariablen _letztesGewicht hinterlegt. Macht Euch Gedanken darüber, in welcher Einheit

ihr das Gewicht speichern wollt, beispielsweise Gramm oder Kilogramm. Macht dies für Klienten

deutlich, indem ihr wie immer entsprechende Schnittstellen-Kommentare schreibt!

3.2.2 Schreibt eine Methode void registriere(int neuesGewicht). Diese wird jedes Mal aufgerufen,

wenn der Besitzer sich erneut wiegt, und bekommt das Ergebnis der physischen Messung übergeben. In

der Methode soll festgestellt werden, ob sich das Gewicht seit der letzten Messung verändert hat. Diesen

Trend sollt ihr im Zustand des Exemplars festhalten. Implementiert anschließend eine parameterlose Methode

gibTrend mit dem Ergebnistyp int, welche folgendes zurückgeben soll:

-1, falls der Besitzer leichter geworden ist

+1, falls er schwerer geworden ist

0 sonst

3.2.3 Implementiert zwei weitere parameterlose Methoden gibMinimalgewicht und gibMaximalgewicht,

die als Ergebnis vom Typ int die extremen Messwerte der bisherigen Messreihe eines Objekts zurückgeben.

3.2.4 Zusatzaufgabe: Implementiert eine parameterlose Methode gibDurchschnittsgewicht, die durchschnittliche

Gewicht über alle Messungen eines Objekts bildet und diesen als Ergebnistyp int zurückgibt.

Und hier erstmal mein Quellcode:

* Eine Klasse, die eine Waage implementiert. 

 * Diese Klasse dient als digitale Waare, welche dem Benutzer über seinen Fortschritt bei der

 * Gewichtskontrolle informiert.

 * 

 * @author MaTo

 * @version 09.11.2010

 */

public class Waage

{


   //Das aktuelle Körpergewicht in Kg.

   private int _aktuellesGewicht;

   //Das Gewicht der letzten Messung in Kg.

   private int _letztesGewicht; 

   //Zeigt an ob du abgenommen oder zugenommen hast.

   private int _gibTrend;

   //Zeigt dir dein bisheriges Maximalgewicht an.

   private int _gibMaximalgewicht;

   //Zeigt dir das bisherige Minimalgewicht an.

   private int _gibMinimalgewicht;


   /**

    * Gib dein aktuelles Gewicht ein.

    * @param Gewicht der Person.

    */

   public void registriereGewicht(int neuesGewicht)

   {

      _letztesGewicht = _aktuellesGewicht;

      _aktuellesGewicht = neuesGewicht;



    }



   /**

    * Zeigt an ob die Person zu/abgenommen hat.

    * @return den Trend des Körpergewichts.

    */

   private int _gibTrend()

   {

       int _gibTrend = 0;

       if (_aktuellesGewicht < _letztesGewicht)


       {

           _gibTrend = -1;

        }

       if (_aktuellesGewicht > _letztesGewicht)

       {

           _gibTrend = 1;

        }

       if (_aktuellesGewicht == _letztesGewicht)

       {

           _gibTrend = 0;

        }


       return _gibTrend;

    }


   private int _gibMaximalgewicht()

   {


     int _gibMaximalgewicht;  

     if (_letztesGewicht < _aktuellesGewicht)

     {

         _gibMaximalgewicht = _aktuellesGewicht;

         }

     else 

     {

         _gibMaximalgewicht = _letztesGewicht;

        }


     return _gibMaximalgewicht;

    }


   private int _gibMinimalgewicht()

   {

      int _gibMinimalgewicht = 0;

      if (_gibMinimalgewicht > _aktuellesGewicht)

      {

          _gibMinimalgewicht = _aktuellesGewicht;

        }


        return _gibMinimalgewicht;

    }



    }

Bis zur Aufgabe 3.2.2 sollte alles korrekt sein. So nun mein Problem: Wenn ich das Objekt Waage erzeuge und Doppelklicke, dann bekomme ich eine Ansicht mit verschiedenen Methoden. Allerdings zeigt mir _gibTrend nichts an nachdem ich z.b. 100 eingebe.

Wenn ich private int _gibTrend() als public setze, dann kann ich an der Schnittstelle der Methode _gibTrend wählen und es funktioniert. Wenn ich 50 eingebe und danach 70, dann zeigt er mir +1 an. Umgekehrt zeigt er mir -1 an. Genau so wie ich das haben will... Allerdings sollte alles in der Tabelle geschehen ohne das der Benutzer das selbst auswählen kann.

Wie stelle ich das an?

Bei den folgenden Aufgaben hab ich mir iwas zusammengereimt was überhaupt nicht hinhaut. Wie gehe ich da vor?

PS: Was muss ich machen damit der Java Text mit einem "show" Button aufgeklappt wird?

Vielen Dank schonmal im Vorraus :)

LG

MaTo

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...