Übungsblatt 1 Aufgabe 1) Eclipse als Programmierumgebung

Werbung
Übungsblatt 1
Aufgabe 1) Eclipse als Programmierumgebung
Machen Sie sich mit der Entwicklungsumgebung Eclipse vertraut. Legen Sie dabei testweise mehrere JavaProjekte an. Versuchen Sie von Anfang an eine angemessene Struktur ihrer Projekte einzuhalten:
•
•
•
•
Quellcode in einem src-Ordner
Kompilierte Klassen im Ordner classes bzw. bin
externe Libraries im Ordner lib
Dokumentationen in einem Ordner doc
Versuchen Sie die von Ihnen angelegte Projektstruktur nachzuvollziehen, indem Sie sich das WorkspaceVerzeichnis von Eclipse näher ansehen.
Aufgabe 2) Probleme lösen wie in Programmierung I
Eine Collatz-Folge (bekannt auch als Syracuse-Problem, Kakutani-Poblem, Hasse-Algorithmus und UlamProblem) von Lothar Collatz, 1937 ist definiert durch n -> n/2, falls n gerade ist, n -> 3n+1, falls n ungerade
ist. Die Folge ist beendet, wenn 1 erreicht ist. Beginnt man etwa mit n=7, durchläuft der Algorithmus die
folgenden Zahlen:
7 -> 22 -> 11 -> 34 -> 17 -> 52 -> 26 -> 13 -> 40 -> 20 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1
•
Schreiben Sie ein Programm, welches die Collatz-Folge für einen beliebigen Startwert berechnet und
eine Ausgabe wie oben erzeugt.
Aufgabe 3) Einstieg Objektorientierung (OO)
In den Veranstaltungen zur OOAD und Programmierung II wurde schon etwas auf Klassen und Objekte
eingegangen. Zum Verständnis der Objektorientierung sollen folgende Fragen beantwortet werden:
•
•
•
Was versteht man in unter einem Objekt?
Wodurch ist ein Objekt gekennzeichnet?
Was versteht man unter dem Begriff Klasse?
•
•
•
Wie werden in einem OO Java-Programm die Eigenschaften eines Objektes bezeichnet?
Wie werden in einem Java-Programm die Fähigkeiten eines Objektes bezeichnet?
Mit welchem „Schlüsselwort“ kann man in Java ein Objekt erzeugen?
Aufgabe 4) Programmierung II
Im Skript von Harald Wehr ist auf Seite 21 eine Graphik zu sehen, welche die Zusammenhänge des KlassenKonzeptes in Java darstellt. Versuchen Sie, die folgenden Java-Sprachelemente innerhalb dieser Graphik
wiederzufinden:
a)
class Spieler {
/* ... */
}
b)
void setzeTrikotNummer(int nummer) {
/* ... */
}
c)
String nameMannschaft() {
/* ... */
}
d)
Spieler(int nummer, String mannschaft) {
/* ... */
}
e)
int trikotNummer;
f)
String mannschaft;
g)
this.trikotNummer = nummer;
h)
if (nummer > 0 &&
nummer <= 11) {
/* ... */
}
i)
return this.mannschaft;
Aufgabe 5) Klassen programmieren
Zu schreiben sind zwei Klassen. Die erste Klasse soll den Namen „Spieler“ haben, sowie verschiedene
Eigenschaften und Fähigkeiten eines Fußball-Spielers beschreiben. Die zweite Klasse stellt Ihr eigentliches
Programm dar. Es enthält ausschließlich eine main-Methode. In dieser main-Methode können Sie dann
Spieler-Objekte erzeugen, Eigenschaften verändern (direkt oder über Methoden) und ausgeben lassen. Als
Vorlage können die folgenden Code-Fragmente dienen:
Klasse Spieler:
class Spieler {
int trikotNummer;
String position;
// Torwart, Abwehr, Mittelfeld, Sturm
/* weitere Attribute */
Spieler(int trikotNummer) {
this.trikotNummer = trikotNummer;
}
/* weitere Konstruktoren */
void setzePosition(String position) {
this.position = position;
}
int hatTrikotNummer() {
return this.trikotNummer;
}
}
/* weitere Methoden */
Klasse mit main-Methode:
class MeinProgramm {
public static void main(String[] args) {
Spieler s1 = new Spieler(1);
s1.setzePosition("Torwart");
Spieler s2 = new Spieler(11);
s2.setzePosition("Stürmer");
System.out.println("Trikot s2: " +
s2.hatTrikotNummer());
System.out.println("Position s2: " + s2.position);
}
}
Aufgabe 6) Eigene Klassen ausdenken
Überlegen Sie sich, wie eine Klasse „Mannschaft“ aussehen könnte, die max. 11 Spieler inklusive 1 Torwart
hat? Eine weitere Bedingung ist, daß alle Spieler unterschiedliche Trikot-Nummern haben müssen.
Versuchen Sie, diese Klasse in Java zu realisieren (Programmierer sagen „implementieren“).
Herunterladen