Kleinbuchstaben oder Großbuchstaben verwandeln: Unterschied zwischen den Versionen
Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springenK |
|||
Zeile 67: | Zeile 67: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | Der Code arbeitet mit der ASCII-Tabelle, in der auch die in englischem und deutschem Sprachraum gebräuchlichen lateinischen Buchstaben verzeichnet sind. Um weitere Zeichen verarbeiten zu können, müsste auf Unicode-Tabellen gesetzt werden. Die Umsetzung ist dann deutlich aufwändiger. Für Einsteiger-Zwecke sollte dieses Beispiel genügen. | ||
[[Kategorie:Java-Codeschnipsel]] | [[Kategorie:Java-Codeschnipsel]] |
Version vom 1. Dezember 2021, 19:53 Uhr
Java bietet bereits allgemein gültige, fertige Methoden an, um Groß- in Kleinbuchstaben oder Klein- in Großbuchstaben zu verwandeln.
Aber wie könnte man das auf Einsteiger-/Student-Niveau selbst implementieren? Das versucht folgender Code erklären:
public class ChangeCase {
/**
* Verwandelt Klein- in Großbuchstaben. Zahlen und Sonderzeichen bleiben unbehandelt.
* @param c das zu untersuchende Zeichen
* @return das umgewandelte Zeichen, wenn es ein Kleinbuchstabe war
*/
public static char toUpperCase(char c) {
if(c >= 'a' && c <= 'z') {
return c-=32;
}
return c;
}
/**
* Verwandelt Groß- in Kleinbuchstaben. Zahlen und Sonderzeichen bleiben unbehandelt.
* @param c das zu untersuchende Zeichen
* @return das umgewandelte Zeichen, wenn es ein Großbuchstabe war
*/
public static char toLowerCase(char c) {
if(c >= 'A' && c <= 'Z') {
return c+=32;
}
return c;
}
/**
* Verwandelt die im char-Array enthaltenen Klein- in Großbuchstaben.
* Zahlen und Sonderzeichen bleiben unbehandelt.
* @param c das zu untersuchende char-Array
* @return das umgewandelte char-Array
*/
public static char[] toUpperCase(char[] c) {
for(int i = 0; i < c.length; i++) {
c[i] = toUpperCase(c[i]);
}
return c;
}
/**
* Verwandelt die im char-Array enthaltenen Groß- in Kleinbuchstaben.
* Zahlen und Sonderzeichen bleiben unbehandelt.
* @param c das zu untersuchende char-Array
* @return das umgewandelte char-Array
*/
public static char[] toLowerCase(char[] c) {
for(int i = 0; i < c.length; i++) {
c[i] = toLowerCase(c[i]);
}
return c;
}
public static void main(String[] args) {
char a = 'a';
char b = 'B';
char[] c = {'s', 'u', 'p', 'e', 'r', '!'};
char[] d = {'S', 'U', 'P', 'E', 'R', '!'};
System.out.println(ChangeCase.toUpperCase(a));
System.out.println(ChangeCase.toUpperCase(b));
System.out.println(ChangeCase.toUpperCase(c));
System.out.println(ChangeCase.toLowerCase(d));
}
}
Der Code arbeitet mit der ASCII-Tabelle, in der auch die in englischem und deutschem Sprachraum gebräuchlichen lateinischen Buchstaben verzeichnet sind. Um weitere Zeichen verarbeiten zu können, müsste auf Unicode-Tabellen gesetzt werden. Die Umsetzung ist dann deutlich aufwändiger. Für Einsteiger-Zwecke sollte dieses Beispiel genügen.