Q1 OOP in Java

Die Ausgabemethode

Lösung geprüft

Die Aufgabe der heutigen Stunde ist die Ausgabemethode! Bis jetzt holen wir uns jeden Wert einzeln mit einem Getter raus und bauen die Ausgabe im Autohaus zusammen. Das ist auf Dauer nervig. Besser: das Auto sagt selber, wie es sich beschreibt.

Die Methode ist schon halb vorgegeben, sie hört nur mittendrin auf – und zwar so, dass sie in dem Zustand nicht mal kompiliert. Das ist kein Versehen vom Lehrer, das ist die Aufgabe.

Die Aufgabenstellung lautet

Ergänze die Klasse Auto um eine weitere Methode ausgabe. Die Ausgabe ist noch nicht fertig. Ergänze die Ausgabe: Das Tankvolumen, der Kraftstoffverbrauch und die aktuelle Kraftstoffmenge sollen auch ausgegeben werden.

Was vorgegeben ist

Vorgabe
public void ausgabe() {
    String info = "Auto: " + Kennzeichen + "\n"
                + "  Kilometerstand: " + Kilometerstand + " km\n";
                //Weiter schreiben, vorher das Semikolon entfernen <-
    System.out.println(info);
}

Der Kommentar sagt dir genau, wo der Haken liegt: hinter der zweiten Zeile steht ein Semikolon. Damit ist die Zuweisung zu Ende. Wenn du einfach darunter weiterschreibst, meckert der Compiler. Das Semikolon muss also ans Ende der letzten Zeile wandern.

Lösungsprozess der Aufgabe

Java
/* meininfokurs.cmrg.site */
/**
 *
 * Die Ausgabemethode der Klasse Auto
 *
 * @version 1.0 vom 13.09.2025
 * @meininfokurs.cmrg.site
 */

public void ausgabe() {
    String info = "Auto: " + Kennzeichen + "\n"
                + "  Kilometerstand: " + Kilometerstand + " km\n"
                + "  Tankvolumen: " + Tankvolumen + " l\n"
                + "  Kraftstoffverbrauch: " + Kraftstoffverbrauch + " l/100km\n"
                + "  Kraftstoffmenge: " + InOut.format2(Kraftstoffmenge) + " l";
    System.out.println(info);
}

In der Aufgabenstellung wird gefordert, dass wir folgende Sachen umsetzen:

  1. Das Semikolon an das Ende der Zuweisung verschieben
  2. Das Tankvolumen mit ausgeben
  3. Den Kraftstoffverbrauch mit ausgeben
  4. Die aktuelle Kraftstoffmenge mit ausgeben

Das Semikolon

Java interessiert sich nicht für Zeilenumbrüche. Eine Anweisung geht so lange weiter, bis ein Semikolon kommt. Deshalb darf man einen langen String über mehrere Zeilen zusammenbauen – das Semikolon steht nur ganz am Schluss. Genau das macht den Code hier lesbar: jede Zeile der späteren Ausgabe steht auch im Code in einer eigenen Zeile.

Konkatenation und \n

Das + zwischen Strings ist keine Addition, sondern Aneinanderhängen. Das nennt sich Konkatenation. Sobald einer der beiden Teile ein String ist, wird auch der andere in Text umgewandelt – deshalb können wir den double Kilometerstand einfach drankleben, ohne ihn vorher umzuwandeln.

\n ist ein Zeilenumbruch innerhalb des Strings. Wir bauen also einen einzigen langen Text, der mehrere Zeilen enthält, und geben den am Ende mit einem System.out.println aus.

Warum nur ein println am Ende

Genau darum geht es bei der Aufgabe eigentlich: das EVA-Prinzip. Eingabe, Verarbeitung, Ausgabe – und zwar in dieser Reihenfolge und sauber getrennt. Wir sammeln erst alles in der Variable info ein (Verarbeitung) und geben dann einmal aus (Ausgabe). Fünf einzelne println würden dasselbe auf dem Bildschirm produzieren, vermischen aber beides.

Das klingt nach Erbsenzählerei, wird aber später wichtig: wenn du den Text irgendwann nicht mehr in die Konsole, sondern in ein GUI-Fenster schreiben willst, musst du nur die letzte Zeile ändern statt fünf.

format2 für die Nachkommastellen

Bei der Kraftstoffmenge steht InOut.format2(...) drumherum. Das rundet auf zwei Nachkommastellen. Ohne das bekommst du nach ein paar Fahrten Ausgaben wie 23.400000000000002 um die Ohren gehauen – das ist keine Java-Macke, sondern liegt daran, wie double Zahlen im Speicher ablegt. Für den Kilometerstand kannst du das genauso machen.

Und so sieht es dann aus

Konsole
Auto: WI-AB 123
  Kilometerstand: 0.0 km
  Tankvolumen: 50.0 l
  Kraftstoffverbrauch: 6.5 l/100km
  Kraftstoffmenge: 0,00 l

Solange tanken und fahren noch leer sind, bleiben Kilometerstand und Kraftstoffmenge natürlich bei 0. Das ändert sich in der nächsten Aufgabe.

Aufgabe suchen

Tippe los. Strg+K öffnet die Suche von überall.

Zuletzt angesehen

Werbung