Kleinbuchstaben oder Großbuchstaben verwandeln
Aus Byte-Welt Wiki
Version vom 30. November 2021, 20:12 Uhr von L-ectron-X (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Natürlich bietet Java bereits fertige Methoden an, um Groß- in Kleinbuchstaben oder Klein- in Großbuchstaben zu verwandeln. Aber wie könnte man das selbst…“)
Natürlich bietet Java bereits fertige Methoden an, um Groß- in Kleinbuchstaben oder Klein- in Großbuchstaben zu verwandeln.
Aber wie könnte man das selbst implementieren? Das soll 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));
}
}