Zahlenraten
Problem: Das Spiel Zahlenraten soll implementiert werden: Einer gibt eine Zahl ein und ein anderer soll die Zahl erraten. Dazu muss die zu ratende Zahl während des Spiels gemerkt werden.:
Klassendiagramm
public class Zahlenraten {
int zahl; // Objekt-Attribut
void merkeZahl(int n){
zahl = n; // merke die zahl
}
String rate(int n) {
if(n < zahl) return "zu klein";
if(n > zahl) return "zu gross";
return "richtig";
}
}
Die Klasse Zahlenraten hat einen Datenspeicher
In dem Attribut zahl wird der Wert der zu ratenden Zahl gespeichert.
Return beendet Ausführung der Methode
Wird der Befehl return ausgeführt steht ja das Ergebnis der Methode fest und es wir zurückgegeben. Daher wird jede weitere Befehlsbearbeitung abgebrochen.
Aufgabe Parkhaus
Parkhaus |
---|
maxParkplatz : GZ = 5 belegt : GZ {>=0} |
anzeigenFrei() einfahren() ausfahren() |
- Das Objekt-Attribut maxParkplatz enthält die Kapazität des Parkhauses und ist mit 5 vorbelegt.
- Das Objekt-Attribut belegt speichert die Anzahl der belegten Parkplätze und darf nicht negativ werden -Zusicherung: {>=0}
- Die Objekt-Methode anzeigenFrei() gibt z.B. folgenden Text aus: "Von 5 Parkplaetzen sind noch 4 frei"
- Die Methoden einfahren() und ausfahren() werden bei der Einfahrt bzw. Ausfahrt eines Fahrzeugs aufgerufen.
- einfahren() gibt bei vollem Parkhaus den Text "Parkhaus ist belegt" und ausfahren() bei leerem Parkhaus "Parkhaus ist leer" aus.
Erstellen Sie den Quellcode für die Klasse.
Lösung anzeigen..
Aufgabe Party
Party |
---|
gaeste : GZ maxGaeste : GZ = 20 |
aendereMaxGaeste(n: GZ) ausgebenParty() ankommenGaeste(n : GZ) gehenGaeste(n : GZ) : GZ |
- Das Objekt-Attribut gaeste merkt sich die Anzahl der Partygäste, maxGaeste gibt die maximale Anzahl der Partygäste vor -hier mit dem Wert 20 vorbelegt.
- Die Objekt-Methode aendereMaxGaeste(n : GZ) kann maxGaeste ändern, z.B. wenn der Partyraum grösser oder kleiner ist als der Standardwert.
- Die Objekt-Methode ausgebenParty() gibt die Anzahl der Partygaeste auf der Konsole mit System.out.println("Es sind "+gaeste+" auf der Party") aus.
- Die Objekt-Methode ankommenGaeste(n :GZ) arbeitet als Türsteher, solange die maximale Anzahl der Gäste noch nicht erreicht ist lässt er die ankommenden n Gäste herein und erhöht die Anzahl der Gäste um n. Kommen mehr Gäste an, als reinpassen lässt er nur bis zum Maximum passieren und gibt dann auf der Konsole z.B. aus: "Es kamen nur noch 5 Gaeste rein 3 wurden abgewiesen!"
- Die Objekt-Methode gehenGaeste(n : GZ): GZ erfasst die n Gäste, die gehen wollen. Solange n kleiner gleich gaeste ist wird gaeste um n erniedrigt. Sonst wird auf der Konsole z.B. ausgegeben: "Es waren nur noch 3 Gaeste da!". Ist kein Gast mehr auf der Party wird ausgegeben: "Die Party ist vorbei!". Nach jedem Aufruf gibt die Methode die verbleibende Anzahl der Gäste zurück mittels dem Befehl return gaeste.
Erstellen Sie ein neues Projekt und den Quelltext für die Klasse Party.
Lösung anzeigen..
Erstellen Sie ein Struktogramm für die Methode ankommenGaeste(n : GZ) Lösung...
Erstellen Sie ein Struktogramm für die Methode gehenGaeste(n : GZ) : GZ. Lösung...
Aufgabe Würfelspiel
Wuerfelspiel |
---|
computerWurf : GZ |
wuerfleComputer() wuerfleSpieler() |
Diesmal sollen keine Objekte erzeugt werden müssen, die Attribute und Methoden sind static:
- Das Klassen-Attribut computerWurf merkt sich das Würfelergebnis des Computers.
- Zufallszahlen von 1 bis 6 können erzeugt werden mit folgendem Ausdruck: (int)(Math.random()*6 + 1)
- Die Klassen-Methode wuerfleComputer() erzeugt eine zufällige Zahl zwischen 1 und 6, speichert diese in computerWurf und gibt die Zahl auf der Konsole aus:
"Computer hat 3 gewuerfelt" - Die Klassen-Methode wuerfleSpieler() erzeugt eine zufällige Zahl zwischen 1 und 6, vergleicht diese mit computerWurf und gibt das Ergebnis auf der Konsole aus:
"Spieler wuerfelt 3 -> Unentschieden"
"Spieler wuerfelt 2 -> Computer hat gewonnen"
"Spieler wuerfelt 4 -> Spieler hat gewonnen"
Erstellen Sie ein neues Projekt und den Quelltext für die Klasse Wuerfelspiel.
Lösung anzeigen..
Erstellen Sie ein Struktogramm für die Methode wuerfleSpieler(). Lösung...