MaTo Geschrieben 10. November 2010 Geschrieben 10. November 2010 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 Zitieren
Empfohlene Beiträge
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.