Logo Logo
InfoHome Themen Projekte Links Software
Themen
JavaHamster
BlueJ
Klassen und Objekte
Klassendefinition
Objektinteraktion
Klassendokumentation
Objektsammlungen
Aufgaben
Projekte
Java
HTML
XHTML
CSS
XML
Datenbanken
MySQL
Theoretische Informatik
PHP
Kara
Lego-Roboter
Algorithmen

Aufgabe 1

Installieren Sie den Editor blueJ auf Ihrem System. Laden Sie Sich außerdem die Projekte Figuren, Zeichnung unf Laborkurs herunter. Beschäftigen Sie sich zu Hause noch einmal mit diesen Projekten. Erzeugen Sie Objekte, rufen Sie Methoden auf und machen Sie sich nocheinmal die eingeführten Begriffe an den Beispielen klar. Eine Zusammenfassung der Stundeninhalte findet sich im Kapitel "Klassen und Objekte".

Aufgabe 2

Implementieren Sie folgende Verbesserungen am Projekt "Naiver Ticketautomat":

  • Sichern Sie den Ausdruck von Tickets so ab, dass nur noch Tickets gedruckt werden, wenn genügend Geld eingeworfen wurde.
  • Sichern Sie die Methode geldEinwerfen so ab, dass nur gültige, sprich nicht negative, Geldbeträge eingeworfen werden können.
  • Sorgen Sie dafür, dass zu viel eingeworfenes Geld nicht vom Automaten "geschluckt" wird.

Benutzen Sie das bekannte if(...) {...} else {...} - Konstrukt zur Absicherung. Geben Sie außerdem bei Fehlbedienung des Automaten entsprechende Fehlermeldungen mittels System.out.println() auf der Konsole aus.
Schicken Sie mir die im Projektordner "Naiver Ticketauotmat" befindliche Datei Ticketautomat.java mit dem Java-Quelltext der Klasse per Email.

Aufgabe 3

  • Fügen Sie dem Grundgerüst der Buchklasse aus Kapitel 2 zwei sondierende Methoden hinzu - gibAutor und gibTitel -, die den jeweiligen Wert der Datenfelder autor und titel (per return-Anweisung) zurückliefern.
  • Fügen Sie der Klasse Buch zwei Methoden autorAusgeben und titelAusgeben hinzu, die die entsprechenden Datenfelder auf der Konsole ausgeben.
  • Fügen Sie ein weiteres Datenfeld seiten hinzu, das die Anzahl der Seiten eines Buches speichert. Dieses Feld sollte vom Typ int sein und seinen Anfangswert durch den einen Konstruktor bekommen, indem dieser neben buchautor und buchtitel einen weiteren Parameter erhält. Fügen Sie auch eine entsprechende Methode gibSeiten hinzu.
  • Fügen Sie der Klasse Buch eine Methode detailsAusgeben hinzu. Diese sollte den Autor, den Titel und die Anzahl der Seiten auf der Konsole ausgeben. Es ist Ihnen überlassen, wie Sie die Ausgabe formatieren.
  • Fügen Sie der Klasse Buch ein weiteres Datenfeld refNummer für eine Referenznummer hinzu. Dieses Feld könnte beispielsweise eine eindeutige Kennzeichnung in einer Bibliothek modellieren. Es sollte vom Typ String sein und im Konstruktor mit einer leeren Zeichenkette ("") initialisiert werden, da es seinen Wert nicht als Konstruktorparameter bekommen soll. Definieren Sie stattdessen eine verändernde Methode mit der Signatur:
    public void setzeRefNummer(String ref)
    Im Rumpf dieser Methode sollte der Wert des Parameters dem Datenfeld refNummer zugewiesen werden. Fügen Sie eine zugehörige Methode gibRefNummer ein, mit deren Hilfe Sie testen können, ob die verändernde Methode korrekt arbeitet.
  • Passen Sie Ihre Methode detailsAusgeben so an, dass Sie auch die Referenznummer mit ausgibt. Allerdings soll sie nur dann ausgegeben werden, wenn tatsächlich ein Wert eingegeben wurde - also wenn das Datenfeld eine nichtleere Zeichenkette enthält. Falls das Datenfeld nicht gesetzt wurde, geben Sie stattdessen "ZZZ" aus. Hinweis: Benutzen Sie die Methode length die sich an jedem String-Objekt aufrufen lässt und die Anzahl der Zeichen der Zeichenkette zurückliefert. Aufrufsyntax: autor.length() wobei autor eine Variable vom Typ String ist.
  • Verändern Sie die Methode setzeRefNummer so, dass sie den Wert des Datenfeldes nur ändert, wenn die übergebene Zeichenkette mindestens drei Zeichen lang ist. Wenn der Parameter kürzer ist, lassen Sie eine Fehlermeldung ausgeben und das Datenfeld unverändert.
  • Fügen Sie der Klasse Buch ein weiteres Datenfeld ausgeliehen hinzu. Es soll einen Zähler halten, der angibt, wie häufig das Buch bereits ausgeliehen wurde. Fügen Sie eine verändernde Methode ausleihen hinzu, die den Zähler bei jedem Aufruf um eins erhöht. Fügen Sie eine Methode gibAusgeliehen hinzu, die den Wert des neuen Datenfeldes als Ergebnis liefert. Erweitern Sie die Methode detailsAusgeben so, dass auch die Information des neuen Felds ausgegeben wird.

Aufgabe 4

Modifizieren Sie die Anzeige unsere Digitaluhr so, dass sie die Tageszeit im 12-Stunden-Format mit angehängtem 'am'(ante meridiem: 0-11:59 Uhr) bzw. 'pm' (post meridiem: 12-23:59 Uhr) anzeigt, also zum Beispiel statt 14:34 2:34pm. Der Brite, der die 12-Stunden-Digitaluhr-Anzeige häufig verwendet, ersetzt die Stunde 0 außerdem durch eine 12. Zum Beispiel ist 0:00 im 24-Stunden-Format 12:00am, 0:34 12:34am und schließlich 1:00 1:00am. Stunden werden also von 1 bis 12 gezählt.

Aufgabe 5

Simuliert werden soll ein Tennisspiel. Schreiben Sie ein Klasse, die zur Speicherung von Daten über Tennisspieler dient. Neben persönlichen Daten, sollten Sie auch Informationen über die Spielstärke eines Tennisspielers speichern können, um später Parameter zu haben, anhand derer Sie einen Gewinner ermitteln können. Entscheiden Sie selbst, welche sondierenden und verändernden Methoden Sie implementieren wollen.
Schreiben Sie nun eine Klasse, die ein Tennisspiel modelliert. Der Konstruktor soll zwei Objekte vom Typ Tennisspieler übergeben bekommen. Implementieren Sie (unter anderem) eine Methode die anhand der gespeicherten Parameter einen Sieger ermittelt. Die Anzahl der verlorenen bzw. gewonnenen Spiele eines Spielers soll jeweils in einer Instanzvariablen des Spielerobjektes gespeichert werden und Einfluss auf seine Spielstärke haben, d.h. die Spielstärke soll anhand der Zahl der gewonnen bzw. verlorenen Spiele ermittelt werden.

Aufgabe 6

Modellieren Sie die Kontoverwaltung einer Bank. Schreiben Sie dazu zunächst eine Klasse Konto, die die Instanzvariablen name (Typ String), saldo (Typ double oder float) und kontonummer (Typ int) besitzt und außerdem diese Konstruktoren und Methoden. Kommentieren Sie ihre Klasse, sowie jede der implementierten Methoden (siehe dazu das Kapitel Javadoc). Achten Sie auf korrekte Bezeichner (Variablennamen fangen klein an, Klassennamen groß, keine Umlaute benutzen).

Aufgabe 7 

 Laden Sie sich das Notizbuch-Projekt herunter. Nehmen Sie folgende Änderungen an diesem Projekt vor:

  • Verändern Sie die Methode notizenAusgaben() so, dass bei der Ausgabe der Wert der lokalen Variable i vor jeder Notiz ausgegeben wird. Zum Beispiel:
    0 : Brot kaufen.
    1 : Handy aufladen.
    2 : John treffen.
  • Verändern Sie Ihr Notizbuch so, dass Notizen beginnend mit 1 statt mit 0 nummeriert werden. Bedenken Sie dabei, dass das ArrayList-Objekt nach wie vor mit Indizes bei Null beginnend arbeitet, Sie aber in Ihrer Ausgabe mit 1 beginnen können. Beachten Sie, das zeigeNotiz und entferneNotiz angepasst werden müssen.

» drucken: pdf | html

© 2004-2025 M. Blanke · Ursulaschule · Kleine Domsfreiheit 11-18 · 49074 Osnabrück