forked from IF-LK-2020/oop1
81 lines
2.2 KiB
Java
81 lines
2.2 KiB
Java
|
|
||
|
/**
|
||
|
* Klasse für einen Motorroller
|
||
|
*
|
||
|
* Ein Motorroller wird von einem Besitzer "besessen" und ist
|
||
|
* diesem per Referenz zugeordnet.
|
||
|
*
|
||
|
* @author J. Neugebauer
|
||
|
* @version 1.0
|
||
|
*/
|
||
|
public class Motorroller
|
||
|
{
|
||
|
// Attribute deklarieren
|
||
|
private int kilometerstand;
|
||
|
|
||
|
private double tankgroesse;
|
||
|
|
||
|
private double tankinhalt;
|
||
|
|
||
|
/**
|
||
|
* Konstruktor für Objekte der Klasse Motorroller
|
||
|
*/
|
||
|
public Motorroller( int pKilometerstand, double pTankgroesse, double pTankinhalt )
|
||
|
{
|
||
|
// Attribute initialisieren
|
||
|
kilometerstand = Math.max(0,pKilometerstand);
|
||
|
tankgroesse = pTankgroesse;
|
||
|
tankinhalt = pTankinhalt;
|
||
|
|
||
|
// TODO:
|
||
|
// - Erstellt ein Objekt mit negativem Kilometerstand und Tankgroesse.
|
||
|
// - Warum ist dieses Objekt nicht sinnvoll?
|
||
|
// - Verhinder bei der Initialisierung der Attribute die Speicherung
|
||
|
// unsinniger Werte.
|
||
|
}
|
||
|
|
||
|
public int getKilometerstand()
|
||
|
{
|
||
|
return kilometerstand;
|
||
|
}
|
||
|
|
||
|
public double getTankgroesse()
|
||
|
{
|
||
|
return tankgroesse;
|
||
|
}
|
||
|
|
||
|
public double getTankinhalt()
|
||
|
{
|
||
|
return tankinhalt;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 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.
|
||
|
*/
|
||
|
public void tanke( double pMenge )
|
||
|
{
|
||
|
tankinhalt += pMenge; // += rechnet "tankinhalt + pMenge" und weist das Ergebnis "tankinhalt" zu
|
||
|
|
||
|
// TODO:
|
||
|
// - Diese Methode wurde nicht korrekt nach der
|
||
|
// Spezifikation (im Kommentar oben) implementiert.
|
||
|
// Was ist fehlerhaft?
|
||
|
// - Korrigiere die fehlerhafte Implementierung.
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Fährt den Roller eine angegebene Strecke (in km). Der Roller verbraucht
|
||
|
* pro Kilometer 0.625 Liter Benzin. Ist im Tank nicht genug Benzin für die
|
||
|
* 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 )
|
||
|
{
|
||
|
// TODO:
|
||
|
// - Diese Methode muss noch nach den Spezifikationen
|
||
|
// oben implementiert werden.
|
||
|
}
|
||
|
}
|