Kleinbuchstaben oder Großbuchstaben verwandeln: Unterschied zwischen den Versionen
Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springenK |
K |
||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | + | Java bietet bereits allgemein gültige, fertige [[Methode|Methoden]] an, um Groß- in Kleinbuchstaben oder Klein- in Großbuchstaben zu verwandeln. | |
− | Aber wie könnte man das selbst implementieren? Das | + | Aber wie könnte man das auf Einsteiger-/Student-Niveau selbst implementieren? Das versucht folgender Code erklären: |
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
public class ChangeCase { | public class ChangeCase { | ||
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]] |
Aktuelle Version vom 1. Dezember 2021, 19:55 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.