From 9e98d7ca0d8590c3dcb83671ae682b4c86c86534 Mon Sep 17 00:00:00 2001 From: schneefux Date: Wed, 26 Sep 2018 20:55:01 +0200 Subject: Make Aufgabe1 tests green --- .../src/de/ostfalia/algo/ws18/base/Gender.java | 11 +++ .../de/ostfalia/algo/ws18/base/IManagement.java | 81 ++++++++++++++++++++++ .../src/de/ostfalia/algo/ws18/base/IMember.java | 53 ++++++++++++++ .../de/ostfalia/algo/ws18/base/KindOfSport.java | 19 +++++ 4 files changed, 164 insertions(+) create mode 100644 AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/Gender.java create mode 100644 AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/IManagement.java create mode 100644 AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/IMember.java create mode 100644 AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/KindOfSport.java (limited to 'AlgoAufgabe1/src/de/ostfalia/algo/ws18/base') diff --git a/AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/Gender.java b/AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/Gender.java new file mode 100644 index 0000000..fe5b4de --- /dev/null +++ b/AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/Gender.java @@ -0,0 +1,11 @@ +package de.ostfalia.algo.ws18.base; + +/** + * @author M. Gruendel + */ +public enum Gender { + + M, + F + +} diff --git a/AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/IManagement.java b/AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/IManagement.java new file mode 100644 index 0000000..11091c2 --- /dev/null +++ b/AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/IManagement.java @@ -0,0 +1,81 @@ +package de.ostfalia.algo.ws18.base; + +/** + * @author M. Gruendel + */ +public interface IManagement { + + /** + * Liefert die Anzahl der Datensaetze. + * @return Anzahl der Datensaetze: int. + */ + public int size(); + + + /** + * Fuegt ein Mitglied dem Datensatz hinzu. + * @param member - hinzuzufuegendes Mitglied: IMember. + * @return true, wenn das Mitglied hinzugefuegt werden konnte, sonst + * false. + */ + public boolean insert(IMember member); + + + /** + * Sucht nach einem Datensatz mit dem angegebenen Schluessel. + * @param key - Schluesselwert: long + * @return - den gefundenen Datensatz, oder null, wenn der Schluesselwert + * nicht gefunden werden konnte: IMember. + */ + public IMember search(long key); + + + /** + * Sucht nach dem ersten Datensatz mit dem angegebenen Namen und Vornamen. + * @param name - Nachname des Mitglieds: String. + * @param firstName - Vorname des Mitglieds: String. + * @return - den gefundenen Datensatz, oder null, wenn der Schluesselwert + * nicht gefunden werden konnte: IMember. + */ + public IMember search(String name, String firstName); + + + /** + * Liefert die Anzahl der Datensaetze mit der angegebenen Sportart zurueck. + * @param kindOfSport die gesuchte Sportart: KindOfSport. + * @return - Anzahl der Datensaetze mit der angegebenen Sportart: int. + */ + public int size(KindOfSport kindOfSport); + + + /** + * Liefert die Datensaetze mit der angegebenen Sportart zurueck. + * @param kindOfSport die gesuchte Sportart: KindOfSport. + * @return - die Datensaetze mit der angegebenen Sportart: IMember[]. + */ + public IMember[] discipline(KindOfSport kindOfSport); + + /** + * Liefert alle Datensaetze als Array von IMember zurueck. + * @return - alle Datensaetze als Array: IMember[]. + */ + public IMember[] toArray(); + + /** + * Liefert die Anzahl grundlegenden Operationen bei der zuvor aufgerufenen + * Zugriffsmethode zurueck. + * @return - Anzahl grundlegenden Operationen bei der zuvor aufgerufenen + * Zugriffsmethode: int. + */ + public int numberOfOperations(); + + + /** + * Nur fuer Aufgabe 3: liefert die Hoehe des binaeren Suchbaums zurueck. + * @return - die Hoehe des binaeren Suchbaums: int. + */ + public default int height() { + return 0; + }; + +} diff --git a/AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/IMember.java b/AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/IMember.java new file mode 100644 index 0000000..e579ad7 --- /dev/null +++ b/AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/IMember.java @@ -0,0 +1,53 @@ +package de.ostfalia.algo.ws18.base; + +import java.time.LocalDate; + +/** + * @author M. Gruendel + */ +public interface IMember extends Comparable { + + /** + * Liefert den Schluesselwert zurueck. + * @return - den Schluesselwert: int. + */ + public long getKey(); + + /** + * Liefert den Nachnamen des Mitglieds zurueck. + * @return - den Nachnamen des Mitglieds: String. + */ + public String getName(); + + /** + * Liefert den Vornamen des Mitglieds zurueck. + * @return - den Vornamen des Mitglieds: String. + */ + public String getFirstName(); + + /** + * Liefert das Geschlecht des Mitglieds zurueck. + * @return Geschlecht des Mitglieds: Gender. + */ + public Gender getGender(); + + /** + * Liefert das Geburtsdatum des Mitglieds zurueck. + * @return Geburtsdatum des Mitglieds: LocalDate. + */ + public LocalDate getDate(); + + /** + * liefert die Sportart zurueck. + * @return - die Sportart: KindOfSport; + */ + public KindOfSport getKindOfSport(); + + /** + * Liefert den Datensatz inklusive Schluesselwert als String zurueck.

+ * Beispiel: "82115101922, Hueber, Uta, 1922-10-15, F, HANDBALL" + * @return Datensatz inklusive Schluesselwert: String. + */ + public String toString(); + +} diff --git a/AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/KindOfSport.java b/AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/KindOfSport.java new file mode 100644 index 0000000..f6e43d0 --- /dev/null +++ b/AlgoAufgabe1/src/de/ostfalia/algo/ws18/base/KindOfSport.java @@ -0,0 +1,19 @@ +package de.ostfalia.algo.ws18.base; + +/** + * @author M. Gruendel + */ +public enum KindOfSport { + + FUSSBALL, + HANDBALL, + SCHWIMMEN, + LEICHTATHLETIK, + REITEN, + FECHTEN, + TURNEN, + RADSPORT, + TANZEN, + RUDERN + +} -- cgit v1.3.1