Die Pattern/Matcher erlauben nicht nur das Suchen und Ersetzen, sondern bieten noch weitere interessante Möglichkeiten. Interessant vom Matcher sind die Methoden appendReplacement() und appendTail(). Evaluiere, ob man einen http://en.wikipedia.org/wiki/Pig_Latin-Konverter mit diesen speziellen Methoden einfach schreiben kann.
Schreibe eine Klasse WordWrapper
mit einer statischen Methode
String wrapWord(String s, int len)
, die eine Zeichenkette s
in kleine Teilzeichenketten der Länge len
zerlegt und mit Return getrennt
wieder zurückgibt. Mit einem String
"Der Sehnsucht entgegen, sie erleben. Wer kann das schon. Den Träumen entgegen,
"+
"sie erleben. Wer macht das schon. Den Gefühlen entgegen, sie erleben.
Wer wagt das schon. "+
"Der Liebe entgegen, sie erleben. Wer darf das schon."
wird zum Beispiel bei einer Zeilenlänge von 20 folgender String zurückgegeben:
Der Sehnsucht
entgegen, sie
erleben. Wer kann
das schon. Den
Träumen entgegen,
sie erleben. Wer
macht das schon.
Den Gefählen entgegen,
sie erleben. Wer
wagt das schon. Der
Liebe entgegen, sie
erleben. Wer darf
das schon.
Obwohl die Klasse
java.lang.String
eine ganze Reihe nützlicher Methoden bietet, ist sie doch nicht ohne Schwachstellen.
So fehlt in der aktuellen Version des JDK beispielsweise eine Methode, die es erlaubt,
jedes Auftreten eines vorgegebenen Teilstrings gegen einen anderen auszutauschen.
Zwar gibt es die Methode replace()
aus
java.lang.String
,
diese erlaubt es aber lediglich, ein einzelnes Zeichen gegen ein anderes auszutauschen.
Schreibe eine Methode replaceString()
, die in einem gegebenen String
alle Vorkommen eines Strings s1
gegen einen String s2
austauscht. s1
und s2
dürfen dabei beliebig (auch unterschiedlich)
lang sein.
Löse die Aufgabe einfaches Match.
Analysiere nachfolgendes Programmsegment:
double d = 12345.67890;
DecimalFormat df = new DecimalFormat( "###,##0.00" );
System.out.println( df.format(d) );
Was macht die Klasse
java.text.DecimalFormat
?
Welche Formatierungsanweisungen sind erlaubt? Stelle eine Tabelle zusammen und belege
die Formatierungen mit einem Beispiel. Die Klasse
java.text.DecimalFormat
existiert nicht alleine für die Formatierung. Es gibt noch einige "Verwandte". Welche
sind das? Nenne Aufgabenbereiche, Unterschiede und Gemeinsamkeiten.