From 81edcd58fe8ff3f51a057bbffc280a698c732517 Mon Sep 17 00:00:00 2001 From: "J. Neugebauer" Date: Wed, 19 Aug 2020 12:08:59 +0200 Subject: [PATCH] Auto-Layout angewandt --- Besitzer.java | 166 +++++++++++++++++++++++------------------------ Motorroller.java | 21 +++--- 2 files changed, 91 insertions(+), 96 deletions(-) diff --git a/Besitzer.java b/Besitzer.java index 6fa5a27..d8bed94 100755 --- a/Besitzer.java +++ b/Besitzer.java @@ -10,103 +10,101 @@ */ public class Besitzer { - // Objektvariablen deklarieren - private String name; + // Objektvariablen deklarieren + private String name; - private double geld; + private double geld; - private boolean fuehrerschein; + private boolean fuehrerschein; - private Motorroller meinRoller; + private Motorroller meinRoller; - /** - * Konstruktor für Objekte der Klasse Besitzer - */ - public Besitzer(String pName, double pGeld, boolean pFuehrerschein, Motorroller pMeinRoller) { - // Objektvariablen initialisieren - name = pName; - geld = pGeld; - fuehrerschein = pFuehrerschein; - meinRoller = pMeinRoller; - } + /** + * Konstruktor für Objekte der Klasse Besitzer + */ + public Besitzer(String pName, double pGeld, boolean pFuehrerschein, Motorroller pMeinRoller) { + // Objektvariablen initialisieren + name = pName; + geld = pGeld; + fuehrerschein = pFuehrerschein; + meinRoller = pMeinRoller; + } - public String getName() { - return name; - } + public String getName() { + return name; + } - public double getGeld() { - return geld; - } + public double getGeld() { + return geld; + } - public boolean hatFuehrerschein() { - return fuehrerschein; - } + public boolean hatFuehrerschein() { + return fuehrerschein; + } - /** - * Gibt die Referenz auf das Objekt vom Typ "Motorroller" zurück. - */ - public Motorroller getMeinenRoller() { - return meinRoller; - } + /** + * Gibt die Referenz auf das Objekt vom Typ "Motorroller" zurück. + */ + public Motorroller getMeinenRoller() { + return meinRoller; + } - /** - * Ändert die Motorroller-Referenz auf ein neues Objekt vom Typ - * "Motorroller". - */ - public void setMeinenRoller( Motorroller pNeuerRoller ) { - meinRoller = pNeuerRoller; - } + /** + * Ändert die Motorroller-Referenz auf ein neues Objekt vom Typ + * "Motorroller". + */ + public void setMeinenRoller( Motorroller pNeuerRoller ) { + meinRoller = pNeuerRoller; + } - public void taschengeldBekommen( double pBetrag ) { - if( pBetrag > 0 ) { - geld = geld + pBetrag; - } - } + public void taschengeldBekommen( double pBetrag ) { + if( pBetrag > 0 ) { + geld = geld + pBetrag; + } + } - /** - * Tankt den zugeordneten Roller um die angegebene Menge (in Litern) auf. - * Dabei wird zunächst geprüft wie viel Platz noch im Tank ist - * und nur die Menge getankt, die auch noch in den Tank passt. - * Für die getankte Menge müssen pro Liter 1.5 Euro gezahlt werden, die - * vom vorhandenen Geld abgezogen werden. - */ - public void tankeRoller( double pMenge ) { - meinRoller.tanke(pMenge); - geld = geld - 1.5*pMenge; + /** + * Tankt den zugeordneten Roller um die angegebene Menge (in Litern) auf. + * Dabei wird zunächst geprüft wie viel Platz noch im Tank ist + * und nur die Menge getankt, die auch noch in den Tank passt. + * Für die getankte Menge müssen pro Liter 1.5 Euro gezahlt werden, die + * vom vorhandenen Geld abgezogen werden. + */ + public void tankeRoller( double pMenge ) { + meinRoller.tanke(pMenge); + geld = geld - 1.5*pMenge; - // TODO: - // - Teste die Methode mit verschiedenen Eingaben. Probier - // auch Werte aus, die eigentlich nicht logisch sind (z.B. - // negative Mengen). - // - Diese Methode wurde nicht korrekt nach der - // Spezifikation (im Kommentar oben) implementiert. - // Welche Fehler können auftreten? - // - Korrigiere so viele Fehler wie möglich. - // - Bei dieser Methode ist auch die Spezifikation fehlerhaft. - // Welche möglichen Objektzustände werden dort nicht - // beachtet? - // - Ergänze den Kommentar zu einer möglichst exakten Beschreibung. - } + // TODO: + // - Teste die Methode mit verschiedenen Eingaben. Probier + // auch Werte aus, die eigentlich nicht logisch sind (z.B. + // negative Mengen). + // - Diese Methode wurde nicht korrekt nach der + // Spezifikation (im Kommentar oben) implementiert. + // Welche Fehler können auftreten? + // - Korrigiere so viele Fehler wie möglich. + // - Bei dieser Methode ist auch die Spezifikation fehlerhaft. + // Welche möglichen Objektzustände werden dort nicht + // beachtet? + // - Ergänze den Kommentar zu einer möglichst exakten Beschreibung. + } - /** - * Fährt den Roller um die angegeben Strecke (in km). Der Besitzer - * prüft zunächst, ob genug Benzin im Tank ist für die Strecke, und fährt - * nur dann los. Er prüft dies, indem er ungefähr den Verbrauch des Rollers - * abschätzt. - */ - public void fahreRoller( int pStrecke ) { - if( meinRoller.getTankinhalt() >= pStrecke ) { - meinRoller.fahre(pStrecke); - } + /** + * Fährt den Roller um die angegeben Strecke (in km). Der Besitzer + * prüft zunächst, ob genug Benzin im Tank ist für die Strecke, und fährt + * nur dann los. Er prüft dies, indem er ungefähr den Verbrauch des Rollers + * abschätzt. + */ + public void fahreRoller( int pStrecke ) { + if( meinRoller.getTankinhalt() >= pStrecke ) { + meinRoller.fahre(pStrecke); + } - - - // TODO: - // - Der Besitzer schätzt nur grob den Verbrauch seines Rollers ab. - // Wie macht er das? - // - Wie könnten die Klassn sinnvoll ergänzt werden, um eine genauere - // Rechnung pro Roller zu ermöglichen? - // - Implementiere eure Idee. - } + // TODO: + // - Der Besitzer schätzt nur grob den Verbrauch seines Rollers ab. + // Wie macht er das? + // - Wie könnten die Klassn sinnvoll ergänzt werden, um eine genauere + // Rechnung pro Roller zu ermöglichen? + // - Implementiere eure Idee. + } } diff --git a/Motorroller.java b/Motorroller.java index cda1d12..8f39a13 100755 --- a/Motorroller.java +++ b/Motorroller.java @@ -20,8 +20,7 @@ public class Motorroller /** * Konstruktor für Objekte der Klasse Motorroller */ - public Motorroller( int pKilometerstand, double pTankgroesse, double pTankinhalt ) - { + public Motorroller( int pKilometerstand, double pTankgroesse, double pTankinhalt ) { // Attribute initialisieren kilometerstand = Math.max(0,pKilometerstand); tankgroesse = pTankgroesse; @@ -34,18 +33,15 @@ public class Motorroller // unsinniger Werte. } - public int getKilometerstand() - { + public int getKilometerstand() { return kilometerstand; } - public double getTankgroesse() - { + public double getTankgroesse() { return tankgroesse; } - public double getTankinhalt() - { + public double getTankinhalt() { return tankinhalt; } @@ -53,9 +49,11 @@ public class Motorroller * Tankt den Roller um die übergebene Menge (in Litern) auf. Dabei kann * der Tank nicht voller werden, als durch die Tankgroesse * festgelegt ist. Das zuviel getankte Benzin verfällt einfach. + * + * Die Methode akzeptiert auch negative Werte (das Benzin wird dann also + * abgelassen). Natürlich darf der Tankinhalt nicht negativ werden. */ - public void tanke( double pMenge ) - { + public void tanke( double pMenge ) { tankinhalt += pMenge; // += rechnet "tankinhalt + pMenge" und weist das Ergebnis "tankinhalt" zu // TODO: @@ -71,8 +69,7 @@ public class Motorroller * volle Strecke, dann fährt der Roller nur so weit, wie er mit dem verbleibenden * Benzin kommt. Der Kilometerstand wird um die gefahrene Strecke hochgezählt. */ - public void fahre( int pStrecke ) - { + public void fahre( int pStrecke ) { // TODO: // - Diese Methode muss noch nach den Spezifikationen // oben implementiert werden.