Kleinbuchstaben oder Großbuchstaben verwandeln: Unterschied zwischen den Versionen

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen
K
 
Zeile 1: Zeile 1:
Java bietet bereits allgemein gültige, fertige Methoden an, um Groß- in Kleinbuchstaben oder Klein- in Großbuchstaben zu verwandeln.
+
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 auf Einsteiger-/Student-Niveau selbst implementieren? Das versucht folgender Code erklären:
 
Aber wie könnte man das auf Einsteiger-/Student-Niveau selbst implementieren? Das versucht folgender Code erklären:
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.
+
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.