Labor – 1CHIF PLF 2, 2024-01-09
1. Allgemeines
Java-Dokumentation findet sich unter
C:\Javadoc\JavaDoc11\jdk-11.0.2_doc-all\docs\index.html
o.ä. .
Fehlermeldungen sollten eine gute Basis für Wahrnehmung, Lokalisierung und Verstehen liefern: Fehler-Markierung ("ERR") am Beginn, betroffene Methode, übertretene Regel, auslösende(r) Wert(e), entstehende Folge – wie z.B.:
"ERR in setLeerGewicht(..) - ungültiger Param. (1 bis 50): 200 -> bleibt -1"
(200 ist der ungültige Wert-Kandidat, -1 der alte, im Attribut gespeicherte Wert)
oder ähnlich - situationsabhängig.
Generell soll bei allen nicht-regulären Zuständen eine aussagekräftige Fehlermeldung ausgegeben werden!
2. Klassen 'Box', 'Lieferwagen'
Zusätzliche Methoden-Infos:
-
Box - einfuellen(..) … erlaubt:
>0
, maximal so viel, wie noch Platz ist (DifferenzMAX_GEWICHT-leerGewicht
zu aktuellerladung
), nur wenn nichtdefekt
. Bei Fehler wirdladung
nicht geändert, Rückgabewertfalse
. -
Box - entnehmen(..) … erlaubt:
>0
,<=ladung
. Bei Fehler wirdladung
nicht geändert, Rückgabewertfalse
. -
Box - toString() … Beispiel-Rückgabewert (einzeilig!):
Beschriftung: -undef-, Leergewicht=20kg, Ladung=500kg, Gesamtgeicht=520kg, Zustand ok
(wenn defekttrue
:Zustand defekt
) -
Box - printInfo() … Rückgabwert von toString() auf Bildschirm ausgeben
-
Lieferwagen - printInfo() … nutzt
boxN.toString()
, wenn Platz N besetzt, sonst "Platz leer" und liefert z.B.
Lieferwagen aktuelles Gewicht / zulässiges Gesamtgewicht: 2060kg / 3500kg Lieferwagen ist überladen: nein Box 1: Beschriftung: -undef-, Leergewicht=20kg, Ladung=500kg, Gesamtgeicht=520kg, Zustand ok Box 2: Platz leer Box 3: Platz leer
3. 'Testklasse'
Erstelle eine minimalistische Testklasse Testklasse
, die folgendes tut:
-
Lieferwagen-Instanz erstellen
-
zwei Boxen an von dir gewählten Stellplätzen in den Lieferwagen einladen.
-
Lieferwagen-printInfo()-Methode aufrufen
-
versuchen, eine bereits vorhandene Box nochmals einzuladen
-
Meldung, ob gelungen/fehlgeschlagen
-
Lieferwagen-printInfo()-Methode aufrufen
-
eine Box ausladen
-
nochmals Lieferwagen-printInfo()-Methode aufrufen
4. Bonus-Aufgabe Klasse 'Schleife1'
Klasse Schleife1 enthält drei Methoden:
-
int summeTeilbarDurch(int mod, int von, int bis)
… summiert mit einer while-Scheife alle Zahlen zwischenvon
undbis
(beide inklusive), die durchmod
ohne Rest teilbar sind (Erhöhung voni
nicht vergessen, um Endlosschleife zu vermeiden!) -
void ausgabe(int mod, int von, int bis)
… Gibt die Parameterwerte und das Rechenergebnis aus in der Form:
Summe aller durch <mod> teilbaren Zahlen zwischen <von> und <bis>: <ergebnis>
-
void testen()
… ruftausgabe(…)
3 mal auf mit Parametern:(1, 1, 1)
;(2, 3, 6)
;(3, 5, 15)
Die Ausgabe sollte sein:
Summe aller durch 1 teilbaren Zahlen zwischen 1 und 1: 1
Summe aller durch 2 teilbaren Zahlen zwischen 3 und 6: 10
Summe aller durch 3 teilbaren Zahlen zwischen 5 und 15: 42