Die Rechtschreibreform - ein satirisches Programm.
Die Unzulänglichkeiten der neuen Rechtschreibreform lassen sich so durch ein recht einfaches Java-Programm leicht aufheben. Hierzu sind lediglich einige String-Ersetzungen notwendig. Im Einzelnen sind dies:
- Wegfall der Dehnungen und Schärfungen
- Streichung der überflüssigen Groß-/Kleinschreibung
- v und ph ersetzt durch f, z ersetzt durch s, sch verkürzt auf s
- g, ch und c ersetzt durch k
- überflüssige h streichen
- j und y ersetzt durch i
- Wegfall der Umlaute
public class Rechtschreibreform {
public static String[] ein = new String[] {
// Stufe 1, v und ph ersetzt durch f, z ersetzt durch s, sch verkürzt auf s
"v", "ph", "z", "sch",
// Stufe 2, g, ch und c ersetzt durch k
"g", "ch", "c",
// Stufe 3, Wegfall der Dehnungen und Schärfungen
"ß", "ie", "nn", "pp", "tt",
// Stufe 4, überflüssige h streichen
"h",
// Stufe 5, j und y ersetzt durch i
"j", "y",
// Stufe 6, Wegfall der Umlaute
"ä", "ö", "ü" };
public static String[] aus = new String[] { "f", "f", "s", "s", "k", "k", "k", "s", "i", "n", "p", "t", "", "i",
"i", "a", "o", "u" };
private static String ersetze(String eingabe, int min, int max) {
// Wegfall der Großschreibung
eingabe = eingabe.toLowerCase();
for(int i=0; i<ein.length; i++){
System.out.println("Tausch: " + ein[i] + " -> " + aus[i]);
eingabe = eingabe.replaceAll(ein[i],aus[i]);
}
return eingabe;
}
public static void main(String[] args) {
System.out.println(ersetze("Oh wie schön, daß die deutsche Sprache einfacher und vielfältiger wird!", 0, ein.length));
}
}
Zunächst werden zwei Arrays deklariert1,
eines für die zu ersetzenden Zeichen (String[] ein
),
eines für die Ersatzzeichen (String[] aus
).
Jede Position im ersten Array entspricht derjenigen im zweiten.
Die Arrays müssen also gleich groß sein.
Die
Hauptmethode enthält in ihrer Signatur die Parameter
für den zu wandelnden String, die Position, an der der
Wandel beginnen (Beginn) und die Position, an der der Wandel
beendet (Ende) werden soll.
In einer Schleife wird das
Array der zu tauschenden Elemente durchlaufen und ein gefundenes
Element gegen ein Ersatzelement getauscht. Dies bewerkstelligt
die Methode replaceAll()
. Ihr werden als Parameter
der zu tauschende und der Ersatzstring übergeben.
Die Ausgabe erscheint dann wie folgt:
Tausch: v -> f Tausch: ph -> f Tausch: z -> s Tausch: sch -> s Tausch: g -> k Tausch: ch -> k Tausch: c -> k Tausch: ß -> s Tausch: ie -> i Tausch: nn -> n Tausch: pp -> p Tausch: tt -> t Tausch: h -> Tausch: j -> i Tausch: y -> i Tausch: ä -> a Tausch: ö -> o Tausch: ü -> u o wi son, das di deutse sprake einfaker und filfaltiker wird!
1) Man beachte die Formatierung des Arrays ein[]. Es ist in Java kein Problem, einen Zeilenumbruch und selbst einen Kommentar in einen beliebigen Quelltextabschnitt zu setzen.
Wenn Ihnen javabeginners.de gefällt, freue ich mich über eine Spende an diese gemeinnützigen Organisationen.