Beruflich Dokumente
Kultur Dokumente
Programmierung I
1
b) Taschenrechner: Schreibe ein Programm, welches zunächst eine Zahl (ganzzahlig), dann
eine Rechenoperation (+, -, *, /) und dann erneut eine Zahl einliest. Dabei soll jede Ein-
gabe in einer eigenen Zeile eingelesen werden. Das Programm soll dann das Ergebnis der
Rechenoperation ausgeben.
Beispiele (Eingaben sind grau):
// Beispiel Addition
2
+
2
2 + 2 = 4
// Beispiel Subtraktion
4
-
1
4 - 1 = 3
42
/
a
Bitte eine Zahl eingeben!
0
Division durch 0 ist nicht zulässig. Bitte eine andere Zahl eingeben.
6
42 / 6 = 7
2
Aufgabe 15: Campus Management System
a) Erstelle eine Klasse University und eine Klasse Student (äquivalent Aufgabe 14 b).
Die Klasse University soll eine Variable numberOfStudents und ein Array von
Student Objekten haben. Füge mindestens 3 Student-Objekte zum Array hinzu
und schreibe eine Methode printStudents, die alle Studierenden auf der Konsole
ausgibt.
b) Erweitere die Klasse University um die Methode void addStudents(), sodass
die Daten von (beliebig vielen) Studierenden von der Konsole eingelesen werden.
Verwende die Eingabe fertig bzw. weiter um nach einer vollständigen Eingabe
das Einlesen zu beenden bzw. weitere Studierende hinzuzufügen. Nach dem Einlesen
sollen alle Studierende auf der Konsole ausgegeben werden.
Beispiel (Eingaben sind grau):
Vorname: Lisa
Nachname: Wagner
Matrikelnummer: 12345
Studiengang: Informatik
Fachsemester: 4
Weiter? (weiter/fertig) weiter
Vorname: Peter
Nachname: Schmid
Matrikelnummer: 1337
Studiengang: Internet Computing
Fachsemester: 1
Weiter? (weiter/fertig) fertig
Liste an Studierenden:
Wagner, Lisa (MatrNr. 12345) studiert Informatik im 4. Semester.
Schmid, Peter (Matr.Nr. 1337) studiert IC im 1. Semester.
c) Erweitere das Programm aus Aufgabe (b) so, dass es bei beliebigen Eingaben nicht
abstürzt.
Hinweis : Fehler können beispielsweise auftreten, wenn
beim Attribut Fachsemster keine Zahl
eingegeben wird.
3
Aufgabe 16: Listen
a) Erstelle die Klassen MyList und MyNode. MyList repräsentiert eine einfach verket-
tete Liste, welche Knoten vom Typ MyNode beinhaltet. MyNode speichert Daten vom
Typ String.
Folgende Methoden soll MyList besitzen:
public void add(String value): Fügt einen neuen Wert hinten an die Liste
an. Ist der übergebene Wert jedoch null, soll dieser nicht hinzugefügt werden.
public void add(String value, int pos): Fügt einen neuen Wert an der
übergebenen Position pos hinzu. Verschiebt das Element an pos und alle nach-
folgenden nach rechts. Ist pos gröÿer als die momentane Anzahl an Listenele-
menten, soll eine IndexOutOfBoundsException geworfen werden.
public String get(int pos): Gibt den Wert an der Position pos zurück,
beginnend bei 0.
public boolean isEmpty(): Gibt zurück, ob die Liste leer ist.
public int size(): Gibt die Anzahl der Elemente zurück.
public void print(): Gibt alle Elemente durch Kommas getrennt in folgen-
der Syntax auf der Konsole aus:
[<element_0>,<element_1>,...,<element_n-1>,<element_n>]
c) Modiziere MyList und MyNode, sodass statt Strings der Typ generisch festgelegt
werden kann.
Erstelle zum Testen eine MyList vom Typ String sowie eine MyList vom Typ
Integer und fülle beide mit beliebigen Werten.