DCV 2023 09/Uebung Objektorientierte Programmierung

Aus CCWiki
Zur Navigation springen Zur Suche springen

OOP

Aufgabe 1)

Erstelle folgend die Klasse Person. Diese Klasse soll die Attribute Name, Age und Gender besitzen (Name, Alter, Geschlecht). Für das Geschlecht ist ein enum zu erstellen (female, male, divers).

Erstelle getter und setter für alle Attribute.

Überschreibe weiters ToString() und erstelle einen string der alle relevanten Informationen enthält.

Erstelle mindestens 6 verschiedene Personen in der Methode Aufgabe1_Main.Start() und gib diese aus.

Aufgabe 2)

Erstelle folgend die Klasse House. Ein Haus hat die Attribute Doors, Windows, Address (Türen, Fenster, Adresse) und eine List von Person. Verwende dafür die Person aus dem vorhergehenden Beispiel. Die Klasse House soll weiters die Methode AddPerson(Person person) enthalten um Personen hinzuzufügen. Erstelle getter und setter für alle Attribute.

Überschreibe nun ToString() und gib alle relevanten Informationen vom Haus zurück. Dazu gehören auch die Personen die darin leben (verwende ToString() von Person.

Erstelle mindestens 3 verschiedene Häuser in der Methode Aufgabe2_Main.Start(), füge einige Personen hinzu, und gib dann das Haus aus.

Aufgabe 3)

Erstelle eine Klasse SortedHouse welche von House aus dem vorhergehenden Beispiel erbt. Überschreibe addPerson(Person person) und sortiere, nach dem Namen, entweder die List nach dem Einfügen der Person oder füge diese direkt an der richtigen Stelle ein.

Erstelle mindestens 3 verschiedene Häuser in der Methode Aufgabe3_Main.Start(), füge einige Personen hinzu, und gib dann das Haus aus.

Filesystem und Datenströme

Aufgabe 4.a)

Frage den Anwender nach einem Dateipfad. Prüfe ob der Pfad gültig ist. Falls ja, finde die größte Datei im Verzeichnis. Hierfür können die Klassen Directory und FileInfo von nutzen sein.

Bonusaufgabe 4.b)

Frage den Anwender nach einem Dateipfad. Prüfe ob der Pfad gültig ist. Falls ja, finde die größte Datei im Verzeichnis inklusive aller Unterverzeichnisse. Wie würde es aussehen, wenn du nicht nur die größte sondern die 5 größten Dateien suchen würdest?

Aufgabe 5.)

Frage den Anwender nach einem Dateipfad. Lese, die dort angelegte CSV Datei und mach einen tabellarischen Ausdruck. Die Klasse System.io.StreamReader kann dir nützlich sein. Achte darauf, dass die Anzahl Spalten, Anzahl Zeilen und Text Länge alle ändern können.

Eine mögliche Testdatei wäre: https://raw.githubusercontent.com/gylhrvth/CodingCampus_2023.03.VZ.Dornbirn/master/src/main/resources/csv/sales_100.csv

Achte darauf, dass als Trennzeichen der Komma verwendet ist.


Hinweis: Diese Aufgabe ist die Erweiterung von Daten tabellarisch darstellen