Hallo Leute,
das ist meiner erster post hier und bevor ich mal anfange die Problem zu erklären möchte ich erwähnen dass mein Muttersprache English ist und daher kann manche schreib Fehlern auftauchen. bitte um Entschuldigung.
Ich war ein Informatik Student in einer hochschule und hab die folgende Aufgabe in einer Testat bekommen und ehrlich gesagt ich hatte keine Ahnung wie ich das machen sollte und jetzt darf ich keine Klausur mehr schreiben.
(Die muster Lösung konnte ich vom Professor nicht bekommen, und wurde gesagt dass ich mehr lehrnen soll, obwohl diese Infos nicht in der Vorlesungen gelehrt wurde.)
(Nun studiere ich an einer Universität woanders)
da ich das Wissen Anstrebe und gleichzeitig meiner Neugier befriedigen möchte, hab ich hier die frage hier gestellt und hoffe dass jemand mir die richtige Lösung dafür schreibt.
Notiz:
*wie gesagt ich studiere jetzt an einer andere uni und ich möchte gerne wissen wie die Lösung aussehen soll.
Wenn ich die Lösung dafür nicht weiß dann kann ich auch kein Fortschritt machen.
long story sorry
***************************************************************************************************
DIE AUFGABE WAR:
Zu Entwickeln ist ein Programm, das ermittelt wie oft die Zeichen einer Zeichenkette „filter“ in einer anderen Zeichenkette „query“ vorkommen.
Beispiel:
➢ filter = „ae3s“, query = „Verständn1s_b3ispiel“ → Ergebnis: 6
Erstellen Sie hierfür zunächst eine Klasse Filter.
Die Klasse muss die folgenden öffentlichen Schnittstellen zur Verfügung stellen:
➢ public Filter(String letters) (→ Konstruktor der Klasse)
Die Zeichenkette, die den Filter repräsentiert, soll im Feld letters gespeichert werden
➢ public boolean contains(char character)
Liefert true, wenn der übergebene character in der Zeichenkette enthalten ist, sonst false
➢ public String toString()
Liefert eine angemessene String-Repräsentation der Klasse Zur tatsächlichen Ermittlung der Vorkomnisse des Filters in der query, ist eine weitere Klasse QueryResolver zu erstellen.
Die Klasse soll wie folgt verwendet werden können:
Die Zeichenkette query und der Filter sollen basierend auf Nutzereingaben erzeugt werden.
Entwickeln sie eine zusätzliche Testklasse, mit der Sie und die Testierer interaktiv am Bildschirm die Korrektheit der Funktionalität prüfen können.
Über die Methoden where und matches wird der QueryResolver so konfiguriert, dass ein darauffolgender Aufruf von count die Berechnung anhand der zuvor übergebenen Variablen query und filter durchführt.
Die Methode count soll die zuvor erstellte Methode contains des Filters verwenden.
Befolgen Sie alle Anweisungen, insbesondere hinsichtlich der Benamung, genau.
Die Signaturen sind genau einzuhalten!
Der Modifier static darf nicht verwendet werden.
Stellen Sie sicher, dass ihr Code fehlerresistent ist.
Ihre Methoden dürfen beim Aufruf mit gültigen Parametern nicht zu Exceptions oder Fehlern führen.
***************************************************************************************************
Danke im voraus und nochmal sorry falls es manche schreib Fehlern gibt.
das ist meiner erster post hier und bevor ich mal anfange die Problem zu erklären möchte ich erwähnen dass mein Muttersprache English ist und daher kann manche schreib Fehlern auftauchen. bitte um Entschuldigung.
Ich war ein Informatik Student in einer hochschule und hab die folgende Aufgabe in einer Testat bekommen und ehrlich gesagt ich hatte keine Ahnung wie ich das machen sollte und jetzt darf ich keine Klausur mehr schreiben.
(Die muster Lösung konnte ich vom Professor nicht bekommen, und wurde gesagt dass ich mehr lehrnen soll, obwohl diese Infos nicht in der Vorlesungen gelehrt wurde.)
(Nun studiere ich an einer Universität woanders)
da ich das Wissen Anstrebe und gleichzeitig meiner Neugier befriedigen möchte, hab ich hier die frage hier gestellt und hoffe dass jemand mir die richtige Lösung dafür schreibt.
Notiz:
*wie gesagt ich studiere jetzt an einer andere uni und ich möchte gerne wissen wie die Lösung aussehen soll.
Wenn ich die Lösung dafür nicht weiß dann kann ich auch kein Fortschritt machen.
long story sorry
***************************************************************************************************
DIE AUFGABE WAR:
Zu Entwickeln ist ein Programm, das ermittelt wie oft die Zeichen einer Zeichenkette „filter“ in einer anderen Zeichenkette „query“ vorkommen.
Beispiel:
➢ filter = „ae3s“, query = „Verständn1s_b3ispiel“ → Ergebnis: 6
Erstellen Sie hierfür zunächst eine Klasse Filter.
Die Klasse muss die folgenden öffentlichen Schnittstellen zur Verfügung stellen:
➢ public Filter(String letters) (→ Konstruktor der Klasse)
Die Zeichenkette, die den Filter repräsentiert, soll im Feld letters gespeichert werden
➢ public boolean contains(char character)
Liefert true, wenn der übergebene character in der Zeichenkette enthalten ist, sonst false
➢ public String toString()
Liefert eine angemessene String-Repräsentation der Klasse Zur tatsächlichen Ermittlung der Vorkomnisse des Filters in der query, ist eine weitere Klasse QueryResolver zu erstellen.
Die Klasse soll wie folgt verwendet werden können:
Java:
QueryResolver resolver = new QueryResolver();
int count = resolver.where(query).matches(filter).count();
Die Zeichenkette query und der Filter sollen basierend auf Nutzereingaben erzeugt werden.
Entwickeln sie eine zusätzliche Testklasse, mit der Sie und die Testierer interaktiv am Bildschirm die Korrektheit der Funktionalität prüfen können.
Über die Methoden where und matches wird der QueryResolver so konfiguriert, dass ein darauffolgender Aufruf von count die Berechnung anhand der zuvor übergebenen Variablen query und filter durchführt.
Die Methode count soll die zuvor erstellte Methode contains des Filters verwenden.
Befolgen Sie alle Anweisungen, insbesondere hinsichtlich der Benamung, genau.
Die Signaturen sind genau einzuhalten!
Der Modifier static darf nicht verwendet werden.
Stellen Sie sicher, dass ihr Code fehlerresistent ist.
Ihre Methoden dürfen beim Aufruf mit gültigen Parametern nicht zu Exceptions oder Fehlern führen.
***************************************************************************************************
Danke im voraus und nochmal sorry falls es manche schreib Fehlern gibt.