erstellt 05.09.99; überarbeitet 13.06.00, 07.05.03, 0.07.04; übersetzt 20.05.03; überarbeitet 27.01.04, 10.01.05, 11.10.06, 10.01.2011, 29.11.2016; Deutsche Übersetzung Heinrich Gailer


Kapitel 31 Programmieraufgaben

Aufgabe 1

Ändern Sie die Auto-Klasse des Kapitels, indem Sie zwei Methoden hinzufügen:

Der Konstruktor und die berechneMPG() Methode bleiben unverändert. Jede von diesen neuen Methoden sollte berechneMPG() verwenden, um die Meilen pro Gallone zu bekommen, und sie nicht selbst berechnen. Eine if-else-Anweisung wählt den korrekten Boole'schen Rückgabewert aus.

Stellen Sie die Benutzer-Interaktionen in die main() Methode, so dass der Benutzer Werte für jedes Auto eingibt. Die main() Methode verwendet die zusätzlichen Methoden, um an den Anwender eine Meldung auszugeben, ob das Auto ein Benzinschwein oder ein Sparauto ist.

Sie könnten in Versuchung geraten einen dieser üblichen Designfehler zu begehen:

  1. Meilen pro Gallone in einer Instanzvariablen des Objekts zu speichern, zusammen mit startMeilen, endMeilen und gallonen.
  2. Die Meilen pro Gallone direkt in den neuen Methoden berechnen.
D:\JavaNotes\Aufgaben>java MPGTester1
Geben Sie den Anfangsmeilenstand ein:
10000
Geben Sie den Endmeilenstand ein:
10400
Geben Sie die Gallonen ein:
10

Meilen pro Gallone: 40.0
Sparauto!

Zurück zum Inhaltsverzeichnis.


Aufgabe 2

Ändern Sie den Konstruktor der Auto-Klasse, so dass er nur noch einen Parameter für den Meilenanfangsstand hat. Die Meilen pro Gallone können noch nicht berechnet werden. Fügen Sie jetzt der Klasse eine Methode hinzu:

void auftanken( double aktTacho, double gallonen )

Das simuliert eine Tankfüllung an der Tankstelle: aktTacho ist der aktuelle Tachometerstand und gallonen ist die Anzahl der Gallonen, die den Tank gefüllt haben. Speichern Sie diese Werte in den Instanzvariablen. Mit dieser Information können die Meilen pro Gallone berechnet werden. Schreiben Sie die Methode, so dass sie jedes Mal, wenn sie aufgerufen wird, die Instanzvariablen aktualisiert (Simulation eines weiteren Tankvorgangs). Nach jedem Aufruf wird berechneMPG() die letzten Meilen pro Gallone berechnen.

Schreiben Sie ein Testklasse mit einer main() Methode, die ein Auto-Objekt konstruiert und die auftanken() und berechneMPG() Methode ein paar Mal aufruft.

D:\JavaNotes\Aufgaben>java MPGTester2
Neues Auto - Tachometer-Anfangsstand: 0.0

+++ Besuch der Tankstelle +++
Aktuellen Tachometerstand eingeben:
350
Anzahl der Gallonen fuer die Tankfuellung:
10
Meilen pro Gallone: 35.0 Autotyp: Sparauto
Programm beenden <j>a <n>ein?
n

+++ Besuch der Tankstelle +++
Aktuellen Tachometerstand eingeben:
450
Anzahl der Gallonen fuer die Tankfuellung:
10
Meilen pro Gallone: 10.0 Autotyp: Benzinschwein!
Programm beenden <j>a <n>ein?
j

Hinweis: Zum Einlesen des Userinputs Programm beenden <j>a <n>ein? werden Sie statt der nextLine Methode die next Methode brauchen. Die next Methode wartet, falls kein Token gefunden wurde, auf eine neue Eingabe. Die Methode nextLine wartet nicht, auch wenn nur noch das Zeilenende gefunden wird.

Zurück zum Inhaltsverzeichnis.


Ende der Aufgaben