1128 |
abteil |
Abteilen von Woertern |
Kategorie: | String |
Klasse: | schwer |
Eingabe: | String |
Ausgabe: | String |
|
Abzugebende Files: abteil.txt, abteil.java |
Kurzbeschreibung:
Ein oder mehrere Wörter sollen eingelesen und in Silben getrennt werden.
Allgemeine Hinweise:
-
Ihr Programm darf nur genau jene Ausgabedaten liefern, die in der Spezifikation
verlangt werden. Die Ausgaben Ihres Programmes werden automatisch mit
Referenzdaten verglichen; etwaige Abweichungen führen zu Punkteabzügen!
-
Testen Sie Ihr Programm vor der Abgabe mit der mitgelieferten Eingabedatei.
Geben Sie Ihre Lösung erst ab, wenn die Ausgaben Ihres Programmes mit der
ebenfalls mitgelieferten Ausgabedatei übereinstimmen! Testen Sie Ihr
Programm auch mit anderen Eingabedaten.
-
Verwenden Sie nur das von uns mitgelieferten Package eprog
für Ihre Ein/Ausgaben. Programme, die Packages oder Klassen ausserhalb der verwendeten Übungsumgebung (Java2, Standard Edition, Version 1.3.1_1) verwenden, können von uns
nicht getestet werden und werden mit 0 Punkten bewertet!
-
Schreiben Sie Ihr Programm möglichst allgemein und kommentieren Sie es gut.
Erstellen Sie weiters eine übersichtliche und verständliche Dokumentation.
Damit erhöhen Sie Ihre Chancen, daß andere Studenten in den nächsten Runden
Ihr Programm wählen und Ihnen damit zu Zusatzpunkten verhelfen!
Aufgabenstellung:
Ihr Programm soll mehrere Wörter in einem String einlesen, diese sind durch
Kommas getrennt.
Suchen Sie in den eingelesenen Wörtern nach folgenden Silben, wobei Sie Groß und Kleinschreibung gleichsetzen sollen:
-keit-, -heit-, -los-, -sam-, -schaft-.
Trennen Sie die Wörter vor und nach diesen Silben; wenn nach einer solchen
Silbe aber nur mehr ein einziger Buchstabe folgt, so ist dieser nicht abzutrennen.
Die Trennung erfolgt durch Einfügen eines Bindestrichs ("-") an der entsprechenden Stelle im Wort. Am Wortanfang und Wortende wird nicht getrennt.
Als Ausgabe soll Ihr Programm die getrennten Wörter liefern.
Eingabedaten:
Lesen Sie einen String ein, der durch Kommas getrennte Wörter beinhaltet. Es
ist auch zulässig, nur ein Wort einzugeben. Außer den Kommas dürfen nur Buchstaben (keine Umlaute) auftreten.
Es sind maximal 3 Wörter zulässig; jedes Wort darf nicht kürzer als 1 Zeichen
und nicht länger als 20 Zeichen sein. Hinter dem letzten Wort kann ein Komma
folgen, muß aber nicht.
Ausgabedaten:
Bei korrekten Eingabedatensätzen soll Ihr Programm die eingelesenen Wörter,
mit Bindestrichen nach Silben getrennt, ausgeben.
Die Wörter bleiben weiterhin durch Kommas getrennnt; wenn in der Eingabe nach
dem letzten Wort ein Komma stand, so soll dies auch in der Ausgabe so sein.
Fehlerbehandlung:
Generell wird bei fehlerhaften Eingabedatensätzen nur eine einzige Fehlermeldung erzeugt, weitere Berechnungen werden nicht mehr durchgeführt.
Sind die eingegebenen Daten inhaltlich nicht korrekt oder erfüllen nicht die
Bedingungen, so soll Ihr Programm "FALSCHE EINGABE", gefolgt von einem Zeilenvorschub, ausgeben.
Beispiele:
Eingabedaten
|
Barschaft,hilflosenzuschuss
Heiterkeiten,lieblose
Sorgsamkeit,Biegsamkeit,
|
Ausgabedaten
|
Bar-schaft,hilf-los-enzuschuss
Heit-er-keit-en,lieb-lose
Sorg-sam-keit,Bieg-sam-keit,
|
Bemerkung: Diese Beispiele dienen nur zur Verdeutlichung der Spezifikation und
müssen nicht korrekt formatiert sein. Die korrekte Formatierung entnehmen Sie
bitte dem mitgelieferten Outputfile. Zum Testen Ihrer Lösung
können Sie aus den mitgelieferten Eingabedaten wie folgt eine Ausgabedatei
erzeugen:
java abteil < abteil.i1 > abteil.out1
Das erzeugte File abteil.out1 können Sie dann mit dem mitgelieferten Outputfile abteil.o1 vergleichen.